I am learning the algorithms used for inference with discrete bayesian networks. I decided to write an implementation in Haskell to give me an opportunity to code a bit in this beautiful language (I don't have a lot of opportunities at my office).

The first version of the library hbayes is very preliminary but already supporting junction trees.

 

French Riviera is known abroad thanks to the Cannes Festival or thanks to the casinos in Monaco. You may also know it for the sea and the sky. But, I would say it is the superficial part of this place.

Some of the towns on the French Riviera are some of the oldest of France and Europe : they were founded by the Greeks in the antiquity or before the greeks by some other less known civilizations (Ligures for instance).

So, there is a long history and some traditions. Food is one important part of this history. But, this post is not about history. I won't try to check if a meal has been invented in Nice or Antibes or somewhere else. I just want to focus on the typical meals of the town of Nice and around it. Also, I am not expert at Niçoise food. But I hope I'll avoid the biggest mistakes.

Let's start with the most famous abroad and I'll end with the most famous in Nice.

 

In this document, I am trying to compare the APIs of ICS with those of iOS 5. So, the comparison is from the point of view of the developer. And, I am looking only at the public APIs documented on the Android SDK web site. I know there are other APIs in the source code and they may be used by some applications. But if they are private it means they may change in the future and the applications using them would break.

 

These patches (for GHC HEAD) would not have been possible without the first iphone-ghc patch by Stephen Blackheath. He did a really big work on that patch. So, anything smart in this new version is from Stephen and any problem is probably coming from me.

For lots of reasons, I decided to port Stephen's patch to the new GHC build system and do some cleaning (like adding compilation flags and makefile variables). When I started I did not know anything about this new build system and I was not aware that Cabal was so smart and doing so many things. So, what is emerging from this work is that I absolutely don't understand Cabal and only very partially the new build system. The patch will need lot of work to be clean and generic. Some problems were solved with ad'hoc assumptions likely to be wrong in different environments.

 

This post is not about functional programming but about plain old imperative languages (C, Java, Python ... replace the dots with your favorite imperative language). I will try to show that you are forced to invent monads if you want to define the meaning of imperative languages ! I have not yet seen this approach to monads in the blogs and tutorials available on the web so I thought it could be a good idea to say a few words about it.