Complete.Org: Mailing Lists: Archives: offlineimap: July 2007:
Re: Offlineimap and notebook computers
Home

Re: Offlineimap and notebook computers

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Vincent Beffara <vbeffara+ml@xxxxxxxxx>
Cc: Gilles Roy <groy@xxxxxxx>, offlineimap@xxxxxxxxxxxx, Raffi Khatchadourian <khatchad@xxxxxxxxxxxxxxxxxx>
Subject: Re: Offlineimap and notebook computers
From: John Goerzen <jgoerzen@xxxxxxxxxxxx>
Date: Fri, 6 Jul 2007 18:20:38 -0500

On Friday 06 July 2007 4:59:37 pm Vincent Beffara wrote:

> How about using an asynchronous framework like twisted instead of
> threads ? That would allow for killing (or dropping) separate clients
> without having to rewrite everything in a different language ...

I actually tried rewriting OfflineIMAP in Twisted.  I had it sort of working 
single-threaded even.  The repo is probably still sitting around somewhere.

Twisted turned out to be hell to debug.  Tracing program flow was next to 
impossible.

If I rewrite OfflineIMAP to that extent, it will probably be using Haskell, 
where I can write me own IMAP client library far easier than in Python, and 
where I get more powerful threads and async libraries as well.

Haskell's async support (via its forkIO call) tries to be indistinguishable 
from multithreaded programs as much as possible, which is really cool.  You 
can even write code such that it works via async or via threads, needing 
only to change two characters in how new threads are spawned to select 
between them.

-- John



[Prev in Thread] Current Thread [Next in Thread]