Saturday, May 27, 2006

Abusing Haskell for fun and profit

At the moment I am working on a System.FilePath module combining Lemmih's one from cabal, and the one from Yhc. In order to do this I have had to abuse Monad's to the extreme (instance Monad Test) and CPP to the extreme (#define module --). Hopefully the result will be useful to a large number of people, and might even make it into base. [Note: the interface to System.FilePath is unstable, and will change - if you have any suggestions please let me know!]

I have also been advocating Haskell to my research group, to the stage where in my group there is only one hold out Python programmer, and everyone else has moved to Haskell even for non-Haskell related projects/PhD's. Now I have to start trying to persuade them to move to Windows...

Tuesday, May 16, 2006

WinHugs release

A release of WinHugs has just gone out:

http://cvs.haskell.org/Hugs/pages/downloading-May2006.htm

This is the first released final Haskell software I have contributed to!

For Windows users, this should be an essential upgrade - an entirely rewritten WinHugs, updated libraries, FFI that works with Visual Studio and lots of other goodies.

Saturday, April 29, 2006

Windows and Haskell

I use Haskell on Windows, and I always tend to feel like a second class citizen... Lots of things just don't work as well on Windows as compared to Linux with Haskell tools - for instance, there is no hmake for Windows, nhc never worked on Windows, ghc ships with something close to a linux distribution with Windows, I once read the instructions to build ghc on windows and I cried, to make the standard libraries for Haskell its pretty much Linux, or something terrible like MSYS or Cygwin - the list goes on...

The reason I'm complaining is that I've been working on getting hugs and FFI working on Windows, the actual Windows code is all relatively easy, but trying to get the base package to compile on Windows seems not possible. Since the base package also compiles FFI .dll's, these are also built in MSYS with GCC. Hopefully in the future Cabal will come to the rescue, but at the moment I'm still not convinced - first off Cabal seems to match the way Linux users think, and not Windows users in any way. Although at the same time, it does seem quite impressive, and the way out for the future.

Hopefully, one day everyone will see the light and stop using Linux, move to Windows, and we can all have nice user interfaces and nice programming languages in one package.

--
Just a quick note, I really am very greatful for all the projects that have Windows ports,
I just hit my head against a brick wall every time I see a makefile :)

Tuesday, April 25, 2006

Hoogle Logo

I just got an email from someone pointing out that the Hoogle logo might be infringing Google's copyright or trademark. He might be right, he might not, but I think Hoogle is getting to the stage where I probably need to change the logo to something less like Google. If anyone has any ideas, I'd be happy to see them. I just want something vector based (SVG or Xara or something else) that looks nice and is essentially the word "Hoogle" with a lambda for the l, in reasonably clear writing. Fades, gradients, transparencies, textures are all fine.

I've just filled out a report on Hoogle for the HCAR, including some light plans for the future. It seems that between every HCAR I release a new version and rewrite the existing version, and never make a release. I'll try to change that before the next one.

The future plans for Hoogle are to make it go faster, and once that happens I can add loads more libraries and applications into the search. I also want to fix a few remaining bugs (nothing is considered a Monad due to higher kinds), and add a few features that never got finished (type aliasing). I also want searching for multiple words, since it seems a lot of people do that, and currently Hoogle considers it a type search. If anyone did want to do any work on it, there is plenty there, and I'm happy to accept patches :)

With all those fixes, I want the following searches to be "better":

  • Monad a => [a b] -> a [b]
  • zip with
  • [Char] -> String

And I want the following searches to have better error messages:
  • Just a -> a
  • Maybe -> a

Saturday, April 15, 2006

My Haskell related projects

Just for general information, I am involved in the following Haskell projects:

As author:
Hoogle - a Haskell search engine
Catch - a safety checker for Haskell (my PhD)
WinHaskell - A GUI for Haskell use on Windows
WinHugs - the GUI bit of Hugs (I rewrote the old WinHugs from scratch)

As a major contributor:
Yhc - the York Haskell compiler, I do the -core stuff, and other related bits.

And have submitted patches to:
Haddock - Add hoogle output
GHCi - :set prompt feature
Hugs - :main support (which is now in GHCi as well, thanks to someone else)

What do all the projects that I am mainly working on have in common? None have ever had an official release. Hoogle is approaching version 4 without having ever left beta, WinHaskell is just basically functional but definately not finished, Catch is coming along but far away from end user use, WinHugs is pretty much done, just release work remaining really.

At the moment I'm focused on WinHaskell, my progress can be tracked roughly here, but there are about 10 additional patches on my computer and I'm currently working on number 11.

Friday, April 14, 2006

Planet Haskell

I thought I'd turn this blog into one for my Haskell related stuff, since i doubt my friends in real life want to hear lots about Haskell, and I doubt Haskell people want to hear about me getting drunk and ranting about the world.

Just a few links for the first Haskell related post:

Planet Haskell - http://planet.haskell.org/

My academic website - http://www.cs.york.ac.uk/~ndm/

Tuesday, October 18, 2005

Saturday, May 29, 2004

Live Journal

Finished my AOO exam, finished my entire degree, happy :) The AOO saga was memorable, I feel like I was screwed over by the lecturer for his personal gain. Ah well, if capitalism has taught me anything, its that the solution is to screw someone else over to make yourself feel better.

Got very drunk last night, did the extended campus bar crawl, all the bars on campus + those near campus with 6 beers before hand. An 11 hour drinking session.

My friends are all trying to persuade me to use Live Journal, but I have to say that blogger seems really nice. I'm trying to set up live journal to look nice, but they want me to pay to get any sensible features. I can have it close to how I want, but if I want a border that isn't huge then I can pay. Because of that, blogger looks more attractive. The only thing I would like to do with Blogger is to move the adverts (text Adverts aren't a problem, I can deal with that, just down the side would look nicer) Anyway, with all the power of CSS, HTML and Javascript I'm sure its possible to kill the adverts totally (although I'm not going to, TOS and all that).

Friday, May 28, 2004

Cancel

I'm using Word, and because of the brilliant install only some things and install the rest on demand, I keep clicking on buttons which bring up the install thing. While this may be a great feature on networks, I never have the Word CD in the drive (the CD Drive is a place for storing Red Alert 2). Because of this, and knowing how much it annoys me, I set every possible feature to Do Not Install, rather than Install On First Run. Yet it appears with every release, more and more features lack this Do Not Install setting, and everything ends up being Install On First Run.

That annoys me, but what really annoys me is the Windows Install logic behind the Install On First Run. When I click somewhere that is not available, Word brings up a little progress bar with a cancel button and the progress bar flys along. When I click the cancel button the progress bar then flys back in reverse (yes, this isn't exactly logical, have I managed to turn back time?) and the box goes away. But instantly another box takes its place, doing the same thing over again. By repeatedly pressing Cancel I can get this little dialog appearing and disappearing, flying progress bars in both directions, but never actually cancelling. Rather unintuatively, it appears that the only way to cancel this process is to not press cancel!

Ah well, back to the open assessment. To be fair on Word, the new formatting sidebar answers so many issues I would be quite happy to accept Word 2002 even if they removed lowercase.

XAOO

I'm just working on my final piece of Uni course work, a 20 page piece of crap on AOO. Its due in just under 12 hours, and then I get to start celebrating the end of an era.

The entire course was about meta-modeling, and now in a flash of inspiration I understand the assessment. The assessment is badly written, and contradictory in places, with huge amounts of detail missing. Maybe we are being marked on the questions we come up with, sort of a meta-exam where you have to set your own exam.

Here is the meta-mark scheme I have come up with:
* The candidate has lost the will to live
* Many references are made to cool sounding words which ultimately have no meaning
* A minimum of 2 pages of uncommented, unworking, needlessly verbose code is included

Thursday, May 27, 2004

blogspot.com

Just figured out how to get my blog actually appearing. I had opted for neil_mitchell.blogspot.com as the URL. That doesn't work behind my proxy server (squid) as apparently that makes it an invalid URL.

Whether its valid or not, either blogger or squid are breaking the rules, so I have sent an "bug report" to blogger. Now I can see my blog, I might make it appear nice. Might...

Wednesday, May 26, 2004

Open Assessment

So, I have 2 days left on the open assessment (submission Friday midday), and have got 48 emails about it in the last day and a half. That sucks. Basically the entire programming language I have to do it in has been rewritten.

Its nice to know that the week long course I did on "Standardised Object Modelling - UML" was actually on a proprietory programming language, which hasn't been finished, and is out of date before I even hand in the assessment!

Ah well, it was only a week, and I can always lie on my CV and pretend I did something useful.

Fujitsu - The Aftermath

Got back from Manchester, met up with some friends, slept on a very comfy couch, met some nice people.

The interview was a lot easier than the previous pre-assessment day. Before they were vicious and gave you a few seconds to answer questions - like they wanted to kill you. This time the guy was nice, and we basically chatted comfortably.

Anyway, thats over, just a few weeks until they email me at the wrong address to tell me whether I got it or not.

Monday, May 24, 2004

Fujitsu

I have a job interview with Fujitsu tomorrow, leaving today after neighbours to get the train to Manchester, and then stay overnight with a friend. Then hit the interview early in the morning, for a full day of assessment day crap.

Sounds like fun, my goals for this day are:

1) Be offered a job so I can refuse it in a humerous manner.
2) Play tricks on the other candidates minds, in order to break at least one of them to tears
3) Run up the maximum level of travel expenses I can

Lets see how it goes.

First Post

Welcome to my blog, if I ever choose to put anything on it...

My name is Neil Mitchell, my website is at www.nmitchell.co.uk and I thought I really should record what I do in life - just so I don't get to 60 and wonder what I did with my life.

Other than that, I'm quite dull. Honest.

I really should change the style to match my home page, thats another task to do.