[Haskell-cafe] Fwd: Backward compatibility
Oops, forgot hit hit reply-all the first time, well spotted by Niklas... -- Forwarded message -- From: Adrian May Date: 5 May 2013 14:22 Subject: Re: [Haskell-cafe] Backward compatibility To: Niklas Hambüchen > 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.) > That only makes sense if you assume everybody is familiar with Haskell and its culture. But that neglects trying to make it attractive to people who aren't. 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. > > Something like that would make a lot of sense to me. > 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. Half a decade is nothing to most programming cultures. A newbie looks for sample code and blames himself if he can't get it working. > > 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. Nobody is forcing you to be part of that. There are a lot of places ... Perhaps I'd rather help those who need it than preach to the converted. You summed it up nicely as two problems: (1) bitchy managers and (2) untrained programmers. I'd like to use Haskell to help with (2) but I still have to work around (1). My plan is to start by winning the hearts and minds of the developers before sticking my neck out far enough to get it severed. There's another plan where I'm pitching VCs about a start up, in which case I'd have a lot more control, but I'd still have to prove that my elite imperative squad were willing and able to learn a new trick before committing myself. I've actually learned quite a lot from this discussion and that largely enables me to preempt any Rails-day problems. But that's only me. Lots of people might be flirting with Haskell just out of curiosity and bouncing off it for these reasons. There have been a lot of good ideas suggested about how to minimise that, and I'd also throw in that it would be cool if people could tell the compiler to behave as it did half a decade ago when the code was written so people could prove to themselves that the code works in principle, then they could clock the compiler forward little by little, reading its release notes along the way. That's a lot friendlier than being confronted with an apparently endless series of error messages when you've barely learned to read them, and not even knowing if you're making things better or worse. If the desired compiler/modules version was in the makefile, that, I think, would be a general solution. The FPComplete thing also looks helpful. I could use that to sell the language to newbies. The mercenaries would come later though. Thanks to everybody for helping out with this. Adrian. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Fwd: Backward compatibility
On 05/05/2013 11:41 AM, Adrian May wrote: > Half a decade is nothing to most programming cultures. > A newbie looks for sample code and blames himself if he can't get it > working. I ran into this kind of trouble when I was starting to learn Haskell. I had error messages like that : test.hs:1:8: Could not find module `List' It is a member of the hidden package `haskell98-2.0.0.2'. Use -v to see a list of the files searched for. I then proceeded to figure how to include this haskell98 package, and later ran into other problems. Perhaps this message could be hard coded to tell the user that this is deprecated code, and he should use Data.List instead. This certainly would be friendlier, but I am unsure it would change anything about adoption: * all major tutorials are up to date * almost everyone understands the concept of bit rot, and, as it has been demonstrated, it is much more manageable than with other "production ready" languages * google works fairly well Everything changes all the time in the javascript and ruby world, but this doesn't seem to reduce adoption. There have been several people pointing out the case of PHP. I would say that with an ageing codebase, you can't upgrade your distribution because the little things that change will break your code in places you don't even imagine. With a 10 years old Haskell program, you can choose to upgrade the codebase, or you can stick with your old binary. > it would be cool if people could tell the compiler to behave as it did > half a decade ago when the code was written so people could prove to > themselves that the code works in principle, then they could clock the > compiler forward little by little, reading its release notes along the way. But how would that work ? You would need some archaeologist to tell you how old the code is so that you could give the proper flags to the compiler. But if you know how to do that, then you know exactly how to fix the code. But you already can do this all by yourself : just install every compilers. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Fwd: Backward compatibility
On Sun, May 5, 2013 at 8:25 PM, Simon Marechal wrote: > I ran into this kind of trouble when I was starting to learn Haskell. I > had error messages like that : > > test.hs:1:8: > Could not find module `List' > It is a member of the hidden package `haskell98-2.0.0.2'. > Use -v to see a list of the files searched for. > > I then proceeded to figure how to include this haskell98 package, and > later ran into other problems. Perhaps this message could be hard coded > to tell the user that this is deprecated code, and he should use > Data.List instead. > Forgive me if I'm wrong, but I feel like I've seen such "suggestions" in GHC errors before. If so, does that mean there's some sort of mechanism in the compiler already in place for such error recognition? Like some simple pattern stuff? If not, I think that it might not be bad to consider this stuff (misused packaged, changed semantics that create compiler errors), and to put something into place for future modifications. This could make it a lot easier to deal with unmaintained code. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Fwd: Backward compatibility
+1 Tom El May 5, 2013, a las 7:55 AM, Raphael Gaschignard escribió: > > > On Sun, May 5, 2013 at 8:25 PM, Simon Marechal wrote: >> I ran into this kind of trouble when I was starting to learn Haskell. I >> had error messages like that : >> >> test.hs:1:8: >> Could not find module `List' >> It is a member of the hidden package `haskell98-2.0.0.2'. >> Use -v to see a list of the files searched for. >> >> I then proceeded to figure how to include this haskell98 package, and >> later ran into other problems. Perhaps this message could be hard coded >> to tell the user that this is deprecated code, and he should use >> Data.List instead. > > Forgive me if I'm wrong, but I feel like I've seen such "suggestions" in GHC > errors before. > > If so, does that mean there's some sort of mechanism in the compiler already > in place for such error recognition? Like some simple pattern stuff? If not, > I think that it might not be bad to consider this stuff (misused packaged, > changed semantics that create compiler errors), and to put something into > place for future modifications. This could make it a lot easier to deal with > unmaintained code. > ___ > 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] Fwd: Backward compatibility
On Sun, May 5, 2013 at 7:55 AM, Raphael Gaschignard wrote: > Forgive me if I'm wrong, but I feel like I've seen such "suggestions" in > GHC errors before. > > If so, does that mean there's some sort of mechanism in the compiler > already in place for such error recognition? Like some simple pattern > stuff? If not, I think that it might not be bad to consider this stuff > (misused packaged, changed semantics that create compiler errors), and to > put something into place for future modifications. This could make it a lot > easier to deal with unmaintained code. > There's some very limited capability now; the GHC folks are tossing around ideas for something more general like that. -- brandon s allbery kf8nh sine nomine associates allber...@gmail.com ballb...@sinenomine.net unix, openafs, kerberos, infrastructure, xmonadhttp://sinenomine.net ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Fwd: Backward compatibility
The case of WASH is a pity. Architecturally It was more advanced that many recent haskell web frameworks. The package would have been a success with little changes in the DSL syntax. I suspect that there are many outstanding packages with great ideas abandoned, like WASH 2013/5/5 Brandon Allbery > On Sun, May 5, 2013 at 7:55 AM, Raphael Gaschignard wrote: > >> Forgive me if I'm wrong, but I feel like I've seen such "suggestions" in >> GHC errors before. >> >> If so, does that mean there's some sort of mechanism in the compiler >> already in place for such error recognition? Like some simple pattern >> stuff? If not, I think that it might not be bad to consider this stuff >> (misused packaged, changed semantics that create compiler errors), and to >> put something into place for future modifications. This could make it a lot >> easier to deal with unmaintained code. >> > > There's some very limited capability now; the GHC folks are tossing around > ideas for something more general like that. > > > -- > brandon s allbery kf8nh sine nomine > associates > allber...@gmail.com > ballb...@sinenomine.net > unix, openafs, kerberos, infrastructure, xmonad > http://sinenomine.net > > ___ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > > -- Alberto. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Fwd: Backward compatibility
Just to be clear, is WASH beyond redemption, or would it be worth reviving again? If so, why? Cheers, Darren On 2013-05-05 1:48 PM, "Alberto G. Corona" wrote: > The case of WASH is a pity. Architecturally It was more advanced that many > recent haskell web frameworks. The package would have been a success with > little changes in the DSL syntax. > > I suspect that there are many outstanding packages with great ideas > abandoned, like WASH > > > > 2013/5/5 Brandon Allbery > >> On Sun, May 5, 2013 at 7:55 AM, Raphael Gaschignard >> wrote: >> >>> Forgive me if I'm wrong, but I feel like I've seen such "suggestions" in >>> GHC errors before. >>> >>> If so, does that mean there's some sort of mechanism in the compiler >>> already in place for such error recognition? Like some simple pattern >>> stuff? If not, I think that it might not be bad to consider this stuff >>> (misused packaged, changed semantics that create compiler errors), and to >>> put something into place for future modifications. This could make it a lot >>> easier to deal with unmaintained code. >>> >> >> There's some very limited capability now; the GHC folks are tossing >> around ideas for something more general like that. >> >> >> -- >> brandon s allbery kf8nh sine nomine >> associates >> allber...@gmail.com >> ballb...@sinenomine.net >> unix, openafs, kerberos, infrastructure, xmonad >> http://sinenomine.net >> >> ___ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> >> > > > -- > Alberto. > > ___ > 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] Fwd: Backward compatibility
On Sun, May 05, 2013 at 10:46:23PM +0200, Alberto G. Corona wrote: > The case of WASH is a pity. Architecturally It was more advanced that many > recent haskell web frameworks. The package would have been a success with > little changes in the DSL syntax. Could you briefly summarise the difference between WASH's approach and that of the more recent frameworks? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Fwd: Backward compatibility
Well, the main one is that is in the group of continuation based frameworks, like other advanced web frameworks such are seaside (smalltalk) ocsigen (ocaml) or coccoon (JavaScript) . That means that it is not based on the event model, and the flow is in a single procedure. This makes the navigation much more readable, as a console application. But WASH is not continuation based, but log based, and the log was stored in the client, that means that it was also restful to a certain level. That approach solved the big problems of memory usage and serialization of continuation based frameworks. It also solved the problem of form safety before the development of formlets and the widespread of applicative functors. But I do not pretend to resucitate WASH. I just miss a continuation of this line of work , but this was not the case. I took a deeper look at WASH after developping MFlow, years after the discontinuation of WASH. MFlow coincidentally, is log based in a different way. I supposed that it was based on continuations, and I didn't like them, but it was not. If the project would have been prosecuted, who knows...It had a edge over other web developments in other languages, but it was hard to understand, just because the approach was original and unique. I consider MFlow as a continuation of WASH in "philosophical" terms. 2013/5/6 Tom Ellis > On Sun, May 05, 2013 at 10:46:23PM +0200, Alberto G. Corona wrote: > > The case of WASH is a pity. Architecturally It was more advanced that > many > > recent haskell web frameworks. The package would have been a success > with > > little changes in the DSL syntax. > > Could you briefly summarise the difference between WASH's approach and that > of the more recent frameworks? > > ___ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > -- Alberto. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe