From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id D91B2BBAF for ; Sun, 24 Oct 2010 12:34:49 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmYAAHeow0zUnwdkk2dsb2JhbACTcYEjjFAVAQEBAQkJCgkRBB65M4VIBA X-IronPort-AV: E=Sophos;i="4.58,231,1286143200"; d="scan'208";a="75645732" Received: from relay.pcl-ipout02.plus.net ([212.159.7.100]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 24 Oct 2010 12:34:49 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ag4FAPmow0xUXebj/2dsb2JhbACTcYEjjFBxuTKFSAQ Received: from outmx01.plus.net ([84.93.230.227]) by relay.pcl-ipout02.plus.net with ESMTP; 24 Oct 2010 11:34:48 +0100 Received: from 87.114.182.234.plusnet.thn-ag1.dyn.plus.net ([87.114.182.234] helo=WinEight) by outmx01.plus.net with esmtp (Exim) id 1P9xuZ-0007q5-Vr for caml-list@yquem.inria.fr; Sun, 24 Oct 2010 11:34:48 +0100 From: "Jon Harrop" To: Subject: Asynchronous IO programming in OCaml Date: Sun, 24 Oct 2010 11:34:40 +0100 Message-ID: <044101cb7367$10f94b30$32ebe190$@com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: ActzZw6hfl9XlxWLS/ercjTAAWSXCg== Content-Language: en-gb x-cr-hashedpuzzle: m+E= AZJQ A1I8 DxkJ ECFA EMzr EkKn HFH9 HZT6 HrQH Hy0w IGpy IeZj JXf1 J5A2 KNfL;1;YwBhAG0AbAAtAGwAaQBzAHQAQAB5AHEAdQBlAG0ALgBpAG4AcgBpAGEALgBmAHIA;Sosha1_v1;7;{DA004A3C-A6E0-444A-9961-78456119EADB};agBvAG4AQABmAGYAYwBvAG4AcwB1AGwAdABhAG4AYwB5AC4AYwBvAG0A;Sun, 24 Oct 2010 10:34:37 GMT;QQBzAHkAbgBjAGgAcgBvAG4AbwB1AHMAIABJAE8AIABwAHIAbwBnAHIAYQBtAG0AaQBuAGcAIABpAG4AIABPAEMAYQBtAGwA x-cr-puzzleid: {DA004A3C-A6E0-444A-9961-78456119EADB} X-Spam: no; 0.00; ocaml:01 ocaml:01 frog:98 threads:01 handles:03 asynchronous:03 programming:03 asynchronous:03 programming:03 tutorial:03 blocking:04 echo:05 thousands:91 i'm:09 example:10 Is there a tutorial on using something like LWT for asynchronous programming in OCaml? I'm looking for an example like an echo server that handles clients concurrently without blocking threads, so it can handle thousands of clients without significant performance degradation. -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com