From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: ** X-Spam-Status: No, score=2.6 required=5.0 tests=AWL,DNS_FROM_RFC_POST, SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id EE43DBC37 for ; Fri, 19 Jun 2009 20:47:28 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqQBAHt6O0rRVcipk2dsb2JhbACYLT8BAQEBCQkKCRMDpjqQQgEDAgSEBQWHJQ X-IronPort-AV: E=Sophos;i="4.42,255,1243807200"; d="scan'208";a="28413750" Received: from wf-out-1314.google.com ([209.85.200.169]) by mail2-smtp-roc.national.inria.fr with ESMTP; 19 Jun 2009 20:47:28 +0200 Received: by wf-out-1314.google.com with SMTP id 26so781480wfd.0 for ; Fri, 19 Jun 2009 11:47:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:from:date:x-google-sender-auth:message-id:subject:to :content-type:content-transfer-encoding; bh=ZeR5xATt6Qi6xNr9uJst5AyMr0TLBdEPASjn7zjMW88=; b=x6vf3KS97w93aaGtGaKeO9zgJu5wxTsya2q+FsJlHs3Acx4cy5P0PkWof4aQMiVwxW Cc/DMbJf2steA3JbeqibF770Fcfdu1mpCEwxYuIv14EN+ZFNTaBuVJsLrztTz3hPa2AA v+T1GaJYDom8bQXGvF1JsjNwEGAjGT4AwISN8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:content-type :content-transfer-encoding; b=UGRrReG89MPJu5SKMGgWZie6WROMwoqe9T7WFt48CIOJt5eyRITXErLn4MHhzqGttP wthyfSYxLt+7yg24X/RsjP6cTe1Uw5qtz9/N9Ce1AqfQxD4jLFIsVNTdl7tm/3xAvxSE M+qxg98Vp1kS0zQGh5IUEPAR4malAdZP7AkJo= MIME-Version: 1.0 Sender: jake.donham@gmail.com Received: by 10.143.12.20 with SMTP id p20mr1541336wfi.15.1245437247083; Fri, 19 Jun 2009 11:47:27 -0700 (PDT) In-Reply-To: References: <4A3BCE1A.3010403@citycable.ch> From: Jake Donham Date: Fri, 19 Jun 2009 11:47:07 -0700 X-Google-Sender-Auth: a69b3a754bc523e9 Message-ID: Subject: Re: [Caml-list] Re: Obj.magic and existential types. To: caml-list@inria.fr Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; existential:01 bunzli:01 buenzli:01 val:01 abstr:01 val:01 abstr:01 2009:98 wrote:01 caml-list:01 int:01 int:01 functional:02 unit:03 unit:03 On Fri, Jun 19, 2009 at 11:21 AM, Daniel B=FCnzli wrote: > Not directly responding to your question but you are looking for function= al > reactive programming (frp). > > http://erratique.ch/software/react You can also find FRP in froc (which is quite similar to React; the main difference is that it works in browsers): http://code.google.com/p/froc/ # open Froc_afp;; # let n =3D return 1;; val n : int Froc_afp.t =3D # let m =3D n >>=3D fun x -> return (x + 1);; val m : int Froc_afp.t =3D # read m;; - : int =3D 2 # write n 3;; - : unit =3D () # propagate ();; - : unit =3D () # read m;; - : int =3D 4