Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!


First things first: Can I use it as my everyday twit/identica/fb client?

Sort of. There are still several bugs and quirks, but for keeping up with the the people you follow, it works pretty well. That is, of course, my opinion. Here’s the details so you can judge for yourself:

  • Facebook
    • Status updates and the comments to them show up in the timeline. This part is almost stable. There are a few issues with the data I’m getting back from FBQL, but for the most part it’s bug free.
    • You cannot, however, reply to the status updates. For every FB status update, there is a link at the end of the message labled [pl] and this should be the permalink to the update on FB’s site. About half the time though, I’m getting nothing back from FBQL for it. I’m assuming it’s something I’m doing wrong and I haven’t yet taken the time to fix it.
    • Replies to status updates have the users picture and a link to their profile.
  • Twitter/
    • Threading works now so you always see tweets in the context they were intended. This means that you won’t see an @ reply where it would fall in the timeline, but rather under the message it was replying to. In addition to this, I follow the chain of replies up to the head, or as far as I can with the people that the user is following, to make one single thread. For example, Bob makes an update, Rob replies to it, Sam replies to Bob’s original status, and Mark replies to Robs reply to Bob’s original status. Assuming they are all following each other, the only place that they would see the statuses is as replies to Bob’s thread.
    • Using the above example, if you were to mark Bob’s original tweet as read, you would see NONE of the statuses. This is, of course, considered a bug and it’s in the queue of stuff to work on.
    • You can have multiple twitter/identica accounts, but you always reply as the first one. We’ll be fixing this.
    • You cannot have multiple facebook accounts. We’ll be fixing this too.
    • The web server listens on all interfaces and addresses. This is of course a problem.

Royale With Cheese v2

Royale With Cheese is a Twitter,, and Facebook client written in Haskell.



At the moment, there are no binary distributions. I plan on making prebuilt executables available once the client is ready for everyday use. For now, you will need to install GHC, Cabal, and cabal-install on your own.

Supported Platforms

There isn’t really anything unix-specific in the code that I can think of so it should build and run on Windows just fine. That said, I haven’t tested it at all. If you want to try it out, consider using the Haskell Platform installer. General build instructions are in the project wiki on GitHub.

Holy Crap! This code is horrible!

Yea yea yea, I’m working on it. It is my project to learn Haskell so, depending on where you look, the code is in varying degrees of suckitude.

Recent activity

Nothing to see here, move along.

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.