UDDI – one of the many components of a solid SOA. I’m not exactly the biggest fan of web services, but if it has to be, then why not use open source?
Two projects exist: Apache jUDDI, which implements UDDI 2.0 and Novell UDDI, which implements UDDI 3.0. Both projects are released under Apache licenses, and are ready for use.
And why am I even interested in this? Because the project I’m working on at the moment is about extending the Novell UDDI server with some extra features, such as replication over the Subscription API, SQL database support, and better management.
After my initial encounters with Haskell, I thought I'd better get a more systematic introduction to the language. The myriads of wikis and tutorials is very fine, but sometimes a real book is just better. So, I ordered The Haskell School of Expression, which I'm enjoying. It's not for the faintest of heart, but luckily most of the concepts are well-known from my time at university. It is not, however, a beginners introduction, at least not in my world.
Anyways, I'm slowly working my way through the book and the exercises, but then I hit a problem: The last exercise in chapter 10 is about making a shape follow the mouse cursor. Pretty simple stuff, if it wasn't because Hugs complained over a case pattern which looked somewhat like this:
CODE:
-
e <- getWindowEvent w
-
case e of
-
Button x True False -> -- do stuff here
-
MouseMove (x,y) -> -- do other stuff here
Nothing fancy here, but Hugs broke down and cried
CODE:
-
ERROR "Picture.hs":148 - Type error in case pattern
-
*** Term : Button x True False
-
*** Type : Event
-
*** Does not match : Event
Which doesn't make much sense. I tried qualifying the type constructors, but that didn't change anything. In the end, I had to switch to GHC, and I still have no idea about what Hugs' problem was.