Re: [Haskell-cafe] Backward compatibility
Well I'm enormously grateful to Niklas for fixing those two things. Simon was right that people are very supportive around here. Even though I've been advised against WASH already, it seems important to fix that stuff because it's a liability to Haskell to have broken code kicking around where people might find it. I found flippi just by googling for haskell wiki engine, in fact I think I was pointed there by wikipedia, and there's nothing on the WASH page to warn anybody. So it's great that Niklas fixed it, thereby preventing impressionable people from having a Rails-day like I did. But is it correct to extrapolate from the fact that people like you can fix it in 5 and 75 minutes, that everybody else can and that's how industry should calculate its maintenance costs? You guys all know a hell of a lot more about Haskell than I do, but I've been playing with it for a few years now, and I never met anybody independently of Haskell who had even heard of it. On 3 May 2013 16:44, Ertugrul Söylemez e...@ertes.de wrote: If it's your decision, you shouldn't be afraid to make it. You are the manager of your team! Don't let yourself be stabbed by another manager. Recognize that your choice can lead to higher productivity Middle management in big companies isn't really about minimising maintenance costs, or even getting anything done. It's about building yourself a botnet of colleagues you can trigger to DDoS one another. You don't need much of a trigger: it's the timing that counts: every bot has to perceive the attack to be already underway and successful by the time you trigger them. Then they'll be grateful that you pointed out something they hadn't noticed before, after all, they wouldn't want to screw up with any other bot. The main reason you'd want to DDoS somebody at all is so that all your bots know the network is operational and that they're safer on the inside. That's why most managers spend more time trying to sabotage one another's projects than doing anything useful themselves, and why the most useless of them always wind up at the top. It's in that context that I'd like you to try and imagine why my priorities might be different from yours. Please don't say that it's my culture's fault. That would be true, but it wouldn't be helpful because if nothing improved in the last 3000 years it probably won't in the next 3000 either. Whether a manager wants to behave in this Machiavellian way or not, he'd better assume that he's surrounded by botnets that want him on the inside. If he has any aspirations to keep both his job and a modicum of autonomy, he wouldn't want to give them a trigger on a plate. Backward compatibility is a very potent trigger because everybody knows what it means, and it would be potty to imagine you could convert somebody else's botnet into mutinying against the controller with the notion that backward compatibility doesn't matter. Referential transparency is not a very good defence because nobody knows what you're talking about. Take a guess how fast I can hire programmers here in Taiwan: about once every 3 months. I turn down 90% of applicants cos I know they'd waste more of my time than they save. I'm talking about the kind of people who can spend a whole week wondering why the bug never changes before I come along and ask them if they're even editing the right file. It's not obvious to people in my position why writing a coding standard that says nobody is allowed to write anything that a monkey wouldn't understand is a bad idea. Hopefully I've now shown that I must be nuts to be interested in Haskell at all. So why am I? Well I described my OP as a lullaby, not a rant. If you want to hear a rant, ask me what I think of imperative programming. Last time I saw an 8 million line project land in the bin, I could have said that I'd told them so 2 years earlier, but instead, I actually shed tears for all the developers who'd been stuck in that office til 11 every night, chasing bugs around in circles that could never be fixed. For the guy who was publicly humiliated for giving a presentation about how to track a bug down through all that spaghetti and then fix it by wrapping if (p!=NULL) around the crash instead of wondering what was null or why, when in all fairness, that was the only thing any of them ever did. For that whole quirky culture that refers to bugs by a six-digit ID beginning with 3, and that doesn't lose it's cool even after two months unable to even build the thing, followed by another two when it can't make it to the idle screen without crashing. Of course I knew it would be pointless to ask those self-satisfied architects if they'd finally figured out that it wasn't smart to riddle the build system with cyclic dependencies so the testers didn't even know what they were testing, or to chop the whole thing into a guzzillion separate pseudo-processes so every debugger would spend 90% of his time trying to single-step over those asynchronous interfaces. Did
Re: [Haskell-cafe] Lambda Calculus question on equivalence
Francesco Mazzoli f...@mazzo.li writes: At Fri, 03 May 2013 16:34:28 +0200, Andreas Abel wrote: The answer to your question is given in Boehm's theorem, and the answer is no, as you suspect. For the untyped lambda-calculus, alpha-equivalence of beta-eta normal forms is the same as observational equivalence. Or put the other way round, two normal forms which are not alpha-equivalent can be separated by an observation L. Thanks for the reference, and sorry to Ian for the confusion given by the fact that I was thinking in types... However, what is the notion of ‘telling apart’ here exactly? Is it simply that the resulting terms will have different denotations in some semantics? My initial (wrong) assumption about termination was due to the fact that I thought that the ultimate test of equivalence was to be done with α-equivalence itself, on the normal forms. α-equivalence on the Böhm trees — normal forms extended to infinity. I suppose that counts as “some semantics” but its very direct. -- Jón Fairbairn jon.fairba...@cl.cam.ac.uk ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Lambda Calculus question on equivalence
At Sat, 04 May 2013 09:34:01 +0100, Jon Fairbairn wrote: α-equivalence on the Böhm trees — normal forms extended to infinity. I suppose that counts as “some semantics” but its very direct. Ah yes, that makes sense. Thanks! Francesco ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] GPGPU
Has anybody on the list been playing around with OpenCL at all? I'm just starting to look into it - need to get a newer Radeon card, I think - but I'm strongly interested in GPGPU programming. -- frigidcode.com signature.asc Description: OpenPGP digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Backward compatibility
I think you missed my point. My point was to show that what you understand as backward compatibility here is totally delivered by Haskell and its environment, and how easy it is to be conservative (where keeping it running as it is is only a matter of renaming a few imports). it seems important to fix that stuff It is not. I did not fix Flippi nor WASH; it is the same unmaintained code that you should not use. If there's a security hole or it just doesn't work, nobody will fix it, nobody will even mention it or care, because it is clear that this is code from the past. it's a liability to Haskell to have broken code kicking around where people might find it. There really is no reason to delete open-source code. and there's nothing on the WASH page to warn anybody. The fact that it doesn't build and that the last change is from 2007 the *is* the warning that it is completely unmaintained and not the way to do things today. (One could even say that by making it build on 7.6, I have removed this warning and given the illusion that everything is fine.) Of course I agree that it would be better if there were warnings on their web sites that said sorry guys, this project is dead now. I would even be happy with newhackage sending every package maintainer a quarterly question Would you still call your project X 'maintained'? for each package they maintain; Hackage could really give us better indications concerning this. Still I'd say that in this case, the fact that it did not build, hasn't had a single change in the last half decade, and that you cannot find any recent discussion about it anywhere on the Internet, make it pretty clear what is going on here, even for non-technical people. Please don't say that it's my culture's fault. From your story it sounds like you have a problem with developer simplemindedness and management wars idiocy. I believe you that that's how it goes in many large organizations. Nobody is forcing you to be part of that. There are a lot of places that would care about you trying to get software development right (it sounds like you do) and, surprise, the chances that they use something like Haskell are much higher. Not because they like research platforms, but because it's one of the reasons for their success. On 04/05/13 16:06, Adrian May wrote: Even though I've been advised against WASH already, it seems important to fix that stuff because it's a liability to Haskell to have broken code kicking around where people might find it. I found flippi just by googling for haskell wiki engine, in fact I think I was pointed there by wikipedia, and there's nothing on the WASH page to warn anybody. So it's great that Niklas fixed it, thereby preventing impressionable people from having a Rails-day like I did. But is it correct to extrapolate from the fact that people like you can fix it in 5 and 75 minutes, that everybody else can and that's how industry should calculate its maintenance costs? You guys all know a hell of a lot more about Haskell than I do, but I've been playing with it for a few years now, and I never met anybody independently of Haskell who had even heard of it. On 3 May 2013 16:44, Ertugrul Söylemez e...@ertes.de mailto:e...@ertes.de wrote: If it's your decision, you shouldn't be afraid to make it. You are the manager of your team! Don't let yourself be stabbed by another manager. Recognize that your choice can lead to higher productivity Middle management in big companies isn't really about minimising maintenance costs, or even getting anything done. It's about building yourself a botnet of colleagues you can trigger to DDoS one another. You don't need much of a trigger: it's the timing that counts: every bot has to perceive the attack to be already underway and successful by the time you trigger them. Then they'll be grateful that you pointed out something they hadn't noticed before, after all, they wouldn't want to screw up with any other bot. The main reason you'd want to DDoS somebody at all is so that all your bots know the network is operational and that they're safer on the inside. That's why most managers spend more time trying to sabotage one another's projects than doing anything useful themselves, and why the most useless of them always wind up at the top. It's in that context that I'd like you to try and imagine why my priorities might be different from yours. Please don't say that it's my culture's fault. That would be true, but it wouldn't be helpful because if nothing improved in the last 3000 years it probably won't in the next 3000 either. Whether a manager wants to behave in this Machiavellian way or not, he'd better assume that he's surrounded by botnets that want him on the inside. If he has any aspirations to keep both his job and a modicum of autonomy, he wouldn't want to give them a trigger on a plate. Backward compatibility is a very potent trigger because
Re: [Haskell-cafe] runhaskell flags: What is going on?
Bleh, I could have sworn that thing had a real usage message at some point... which means there is in fact a problem and you should file a bug against runhaskell. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] BayHac '13
Excellent. I signed up and hope to make it. Could you add https://github.com/tommythorn/Reduceron to the project list? I'll bring hardware and blink some LEDs from Haskell(*) without a CPU. Thanks Tommy (*): Well, F-lite, but it'll be Haskell one day On May 3, 2013, at 22:54 , Mark Lentczner mark.lentcz...@gmail.com wrote: Update: • BayHac '13 is just two weeks away. • We have over 60 sign-ups! • Please sign up, if you haven't already. • We've added an optional Code Kata session. — Mark On Tue, Mar 12, 2013 at 10:47 PM, Mark Lentczner mark.lentcz...@gmail.com wrote: Please join us for a weekend of Haskell hacking: BayHac '13 May 17th ~ 19th, 2013 Hacker Dojo Mountain View, CA Full details on the Haskell Wiki: BayHac '13 - Mark ___ 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] GPGPU
On Sat, May 4, 2013 at 3:00 AM, Christopher Howard christopher.how...@frigidcode.com wrote: Has anybody on the list been playing around with OpenCL at all? I'm just starting to look into it - need to get a newer Radeon card, I think - but I'm strongly interested in GPGPU programming. This is about as far as I've made it: http://dagit.github.io/posts/2013-04-29-opencl-and-language-c-quote.html Jason ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Backward compatibility
You might want to check out FPCompletehttps://www.fpcomplete.com/page/about-us, if you haven't already. They're far more focused on making it easy for organizations to adopt Haskell than the community can be. As they say: Where the open-source process is not sufficient to meet commercial adoption needs, we provide the missing pieces. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Backward compatibility
What pray tell are those missing pieces? Aren't they mostly building a browser based ide plus doing training courses ? On May 4, 2013 1:42 PM, Ben Doyle benjamin.peter.do...@gmail.com wrote: You might want to check out FPCompletehttps://www.fpcomplete.com/page/about-us, if you haven't already. They're far more focused on making it easy for organizations to adopt Haskell than the community can be. As they say: Where the open-source process is not sufficient to meet commercial adoption needs, we provide the missing pieces. ___ 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] Backward compatibility
What pray tell are those missing pieces? Aren't they mostly building a browser based ide plus doing training courses ? Sure, and I believe they plan to have that browser-based IDE talk to a virtual server, with a compiler and set of libraries they maintain. That'd solve Adrian's problems, no? So long as he can bring himself to use Yesod over WASH? Perhaps more importantly, they're well-spoken and business-savvy, and they can persuasively promise that they'll make a risk-averse corporation's (overblown) worries go away. If he's in a management battle, he ought to know where to hire some mercenaries. On Sat, May 4, 2013 at 2:03 PM, Carter Schonwald carter.schonw...@gmail.com wrote: What pray tell are those missing pieces? Aren't they mostly building a browser based ide plus doing training courses ? On May 4, 2013 1:42 PM, Ben Doyle benjamin.peter.do...@gmail.com wrote: You might want to check out FPCompletehttps://www.fpcomplete.com/page/about-us, if you haven't already. They're far more focused on making it easy for organizations to adopt Haskell than the community can be. As they say: Where the open-source process is not sufficient to meet commercial adoption needs, we provide the missing pieces. ___ 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] GPGPU
I wrote this some time ago. http://www.arcadianvisions.com/blog/?p=346 I know that soon after I wrote that, it worked with both OpenCL and gloss from hackage, but there may be some bitrot at this point. Anthony On May 4, 2013, at 6:00 AM, Christopher Howard christopher.how...@frigidcode.com wrote: Has anybody on the list been playing around with OpenCL at all? I'm just starting to look into it - need to get a newer Radeon card, I think - but I'm strongly interested in GPGPU programming. -- frigidcode.com ___ 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] GPGPU
On Sat, May 4, 2013 at 11:54 AM, Anthony Cowley acow...@seas.upenn.edu wrote: I wrote this some time ago. http://www.arcadianvisions.com/blog/?p=346 I know that soon after I wrote that, it worked with both OpenCL and gloss from hackage, but there may be some bitrot at this point. Some of the links in the blog seem to be broken as well. For instance, the link to the animation screen shot. Jason ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ANNOUNCE: grid 5.0
I'm happy to announce a new major release of the grid package: http://hackage.haskell.org/package/grid https://github.com/mhwombat/grid/wiki (wiki) WHAT'S NEW: * Octagonal grids (just the thing for tiling that hyperbolic bathroom floor!) * Want to use the square grid, but need diagonal movement too? Try the octagonal grid. See the userguide for more information. * Updated the userguide to reflect the changes. ABOUT GRID: Grid provides tools for working with regular arrangements of tiles, such as might be used in a board game or self-organising map (SOM). Grid currently supports triangular, square, hexagonal, and octagonal tiles, with various 2D and toroidal layouts. If you need a tile shape or layout that isn't currently provided, please let me know. See Math.Geometry.Grid for an example of how to use the package. Suggestions for improvement are welcome. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] GPGPU
On Sat, May 4, 2013 at 3:17 PM, Jason Dagit dag...@gmail.com wrote: On Sat, May 4, 2013 at 11:54 AM, Anthony Cowley acow...@seas.upenn.edu wrote: I wrote this some time ago. http://www.arcadianvisions.com/blog/?p=346 I know that soon after I wrote that, it worked with both OpenCL and gloss from hackage, but there may be some bitrot at this point. Some of the links in the blog seem to be broken as well. For instance, the link to the animation screen shot. Jason Thanks to the nudge from Jason, the bitrot has now been scraped off. The post is prettier, the code all works again, and the screenshot has been restored. Anthony ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] runhaskell flags: What is going on?
On 13-05-03 10:35 AM, Niklas Hambüchen wrote: runhaskell -fno-warn-unused-matches Myfile.hs [no output whatsoever but exit code 127] runhaskell -fasdf Myfile.hs [no output whatsoever but exit code 127] $ runghc --help Usage: runghc [runghc flags] [GHC flags] module [program args] The runghc flags are -f /path/to/ghc Tell runghc where GHC is --helpPrint this usage information --version Print version number # how to say end of runghc flags and start of GHC flags? # it seems undocumented. bad bad bad. # oh wait, it is documented, read GHC user's guide chapter 3 # actually, read the whole thing # the GHC user's guide is on your hard disk $ cat g.hs main = putStrLn hello where v=True $ runghc -- -fwarn-unused-binds g.hs g.hs:1:31: Warning: Defined but not used: `v' hello # \∩/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] GPGPU
On Sat, May 4, 2013 at 2:16 PM, Anthony Cowley acow...@seas.upenn.edu wrote: Thanks to the nudge from Jason, the bitrot has now been scraped off. The post is prettier, the code all works again, and the screenshot has been restored. Nice! That's a very cool demo. Jason ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Google Summer of Code Proposal - Communicating with mobile devices
Marcos, Great to see you've revised a copy of this. I've often felt that push communication to devices has a very continuation-y flavor, and I think having something in a web framework to express this would be great. It looks like a large part of your time may be spent developing demo apps, which is too bad, since ideally (for a Haskell project) you'd want to spend as much time as possible writing in Haskell :-). Perhaps you could write a fleshed out demo app for one environment (iOS, Android, etc..) and then shallower examples for the rest. (In theory of course, you don't even need to write sample apps for most platforms, since the push API should be an abstraction layer above that...). Should this project make it through to be one of Haskell's GSOC projects, I'd be happy to chat with you about your development. Kris On Thu, May 2, 2013 at 8:53 PM, Marcos Pividori marcospivid...@gmail.com wrote: Greetings, I am a Computer Science student from Argentina. I am interested in working this summer in a project related to Haskell for the Google Summer of Code. I have been discussing my idea with Michael Snoyman in order to have a clearer idea. Now, I would like to know the community interest in this project. I want to develop a server-side library in Haskell for sending push notifications to devices running different OS, such as Android, iOS, Windows Phone, BlackBerry, and so on. To pass a subject, I have recently worked with Yesod (a Web Framework based in Haskell) developing a server to comunicate with Android-powered devices through Google Cloud Messaging. (It is available: https://github.com/MarcosPividori/Yesod-server-for-GCM – It is a Spanish commented version because it was a project for my University, I will replace it for an English version in the next weeks) To develop this project, I have read a lot about this service and Yesod libraries, and I developed two programs, a server written in Haskell and an Android application for mobile phones. Also, I developed an EDSL to write programs which exchange information with the devices. I would be really grateful if you could give me your opinion about this project and the proposal. I want some feedback in order to know if this would be a useful tool and what you would like to get out of it. Communicating with mobile devices Abstract The aim of this project is to develop a server-side library in Haskell for sending push notifications to devices running different OS, such as Android, iOS, Windows Phone, BlackBerry, and so on. The fact is that every company is developing Push Notification services, and these are very similar. Then, I want to find the fundamental concepts to construct a library which enable to configure the options for the different services and send messages easily. When I say they are very similar, I refer to the fact that they all are asynchronous, best-effort services that offers third-party developers a channel to send data to apps from a cloud service in a power-efficient manner. The most popular are: - Google Cloud Messaging (Android) - Apple Push Notification Service (iPhone / iPad) - Microsoft Push Notification Service (Windows Phone) - BlackBerry Push Service (BlackBerry) - Windows Push Notification Services (Windows 8) - etc. Once we have this libraries, I will investigate the possibility of mainting a back and forth communication between a server and mobile devices and I will develop a library to handle this. Motivation and expected benefits I think this idea would be very useful because it will allow all Haskell developers to open to a new world of mobile devices and to build useful programs/services that interact with them. Pushing data to smartphones provides users with instant access to desired updates as they happen, such as news and weather, sports scores, stock prices and other time-sensitive content. The push services provide an efficient way to quickly push timely information updates to many smartphones at once, in a centrally managed and controlled manner. Generally, you can also be very selective in who you send information to, including individual customers or many customers (multicast). This services minimizes the impact on the smartphones battery life. Instead of actively checking for new data, the applications can remain closed. Once the data is delivered, the application can be launched in the background to process it as needed. This processes offer an alternative to other less efficient methods, such as polling, where a device regularly polls an application server to see if new content is available. The main differences between the services, refer to details as: the maxim payload length, the quality of service, queueing the messages or not, and the time limit for this, the way the messages are handled in the devices, etc. As all the libraries to access to these services are developed in Java, I
[Haskell-cafe] [ANN] xmobar 0.17 released
I've just released version 0.17 of xmobar, a lightweight system monitor written in Haskell. Homepage: http://xmobar.org Release notes: http://xmobar.org/releases.html _New features_ - Icons support: it's now possible to insert bitmaps in the template (Edward O'Callaghan, Alexander Polakov and Tomáš Janoušek). - Initial support for reacting to mouse clicks (Alexander Polakov). - New `TopP` and `BottomP` alignments, taking left and right paddings (thanks to Dmitry Malikov). - New `freeratio` field for memory monitor (Peter Simons). - New `allDesktops` and `overrideRedirect` configuration options, providing dock behaviour in tiling WMs (when set to True and False respectively). Cf. discussion at [github #105]. - Experimental `-d` (start as a dock) option, may address [github #67] in some window managers. _Bug fixes_ - Partial (as reports go) fix for [github #77]. - Safer volume plugin (Dmitry Malikov). - Battery percentage capped at 100% (RJ Regenold). Enjoy! -- I always pass on good advice. It's the only thing to do with it. It is never any use to oneself. -Oscar Wilde ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe