From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 39BBE7F75C for ; Mon, 22 Sep 2014 15:52:50 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of siraaj@khandkar.net) identity=pra; client-ip=63.251.153.119; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="siraaj@khandkar.net"; x-sender="siraaj@khandkar.net"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of siraaj@khandkar.net) identity=mailfrom; client-ip=63.251.153.119; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="siraaj@khandkar.net"; x-sender="siraaj@khandkar.net"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@newguinea.khandkar.net) identity=helo; client-ip=63.251.153.119; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="siraaj@khandkar.net"; x-sender="postmaster@newguinea.khandkar.net"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArcEAAYpIFQ/+5l3/2dsb2JhbABgg2FXylSHTQGBIQF5hAQBAQICOEARCxgJFg8JAwIBAgEPNhMGAgEBFYgRAxENvHYNhxAEjVeBV18WhDUBBJYPhHeJXIdBhkWDfVABgQWBRAEBAQ X-IPAS-Result: ArcEAAYpIFQ/+5l3/2dsb2JhbABgg2FXylSHTQGBIQF5hAQBAQICOEARCxgJFg8JAwIBAgEPNhMGAgEBFYgRAxENvHYNhxAEjVeBV18WhDUBBJYPhHeJXIdBhkWDfVABgQWBRAEBAQ X-IronPort-AV: E=Sophos;i="5.04,571,1406584800"; d="scan'208";a="97212156" Received: from khandkar.net (HELO newguinea.khandkar.net) ([63.251.153.119]) by mail2-smtp-roc.national.inria.fr with ESMTP; 22 Sep 2014 15:52:47 +0200 Received: from [10.0.1.13] (pool-108-30-73-37.nycmny.fios.verizon.net [108.30.73.37]) by newguinea.khandkar.net (Postfix) with ESMTPA id 97C4F13AE3 for ; Mon, 22 Sep 2014 09:52:46 -0400 (EDT) Message-ID: <542029AB.3030700@khandkar.net> Date: Mon, 22 Sep 2014 09:52:43 -0400 From: Siraaj Khandkar User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.1 MIME-Version: 1.0 To: caml-list@inria.fr References: In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Caml-list] Networking Application On 09/22/2014 07:55 AM, brian.e.mulhall@gmail.com wrote: > Hello All, > > I work for a large US engineering firm and I am trying to find a way for our > team to do more with less, due to budgetary cutbacks in our engineering > center. > > With that being said we have an existing java application that is in dire need > of a rewrite. I have been interested in ML and subsequently OCAML for about 6 > months and I am now looking for a way to integrate this passion of mine into > my work life. I see very real benefits from using this language at work and > its also applicable in our use case (we have a single core machine with > limited resources and I want us to use a cooperative threading library like > LWT or Async). > > So I was wondering if people could point me in the direction of some open > source projects hosted on github that I can read through and try to emulate in > my proof of concept, sketch of a redesign that I show my supervisors. I > appreciate any help and since this is a side project it can be done right, > without any need to take hacky shortcuts. Generally, some of the best examples of code organization (regardless of language, actually) are in Jane Street libraries, so def look through those (as Yaron already said). Specifically to your question and use-case, there was a talk at last year's OUD, in Boston, about a software-defined networking controller implemented in OCaml: - paper: https://ocaml.org/meetings/ocaml/2013/proposals/frenetic.pdf - slides: https://ocaml.org/meetings/ocaml/2013/slides/guha.pdf - code: https://github.com/frenetic-lang/frenetic