
On Tue, Jan 27, 2009 at 09:18:55PM +0000, Duncan Coutts wrote:
I see Hugs last source code snapshot dates back to 2006. Was there any updates?
Not since then, no. However a lot of things work fine, especially if you use a newer Cabal version. It's equivalent in time to ghc-6.6 I think, and a lot of people still use that and that is the base line for compatibility for many projects.
Of course how well it works will depend on just what you're trying to do.
I have tried to maintain Hugs compatibility in all my libraries, but I must admit I am dropping it for many, due to various problems. It is mainly that libraries I use from others haven't even been tried with Hugs or have weird issues: * utf8-string imports an unsafe ByteString module, which doesn't exist in Hugs (its contents are just in regular ByteString). Meant I had to drop Hugs support for HDBC-postgresql. * A big annoyance today: Hugs inexplicably lacks Data.Time.Format entirely. * Its regexp issues have been annoying many times in the past, if memory serves. Things would be a lot better if the libraries would just be maintained. As I have been going through updating my libraries in the past week, I have been wondering myself how much time to put into maintaining Hugs libraries. Hugs still has its place, especially on small ARM devices like the Zaurus or N810 where ghci doesn't run. But it takes a community to make support viable; if the common libraries that everyone uses don't work on Hugs, then people won't use it. The other problem is that Hugs just doesn't support the optional flexibility that GHC does with typeclasses. I had to resort to code generation to generate a ton of instances for Convertible that I could have done in a few lines of code with GHC instead of a few hundred with Hugs. Though this is a rather pathological case for me. Just to close -- I will point out that ghci doesn't work on many platforms that Hugs does (though ghc does). Hugs is the only interpreter on some of these platforms. -- John