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 9CCD4BBAF for ; Tue, 23 Jun 2009 02:35:20 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Am4CABLAP0rRVciujWdsb2JhbACYJz8BAQEBCQkKCREFpz+OPAEDAgSEBgWHLQ X-IronPort-AV: E=Sophos;i="4.42,272,1243807200"; d="scan'208";a="28553466" Received: from wf-out-1314.google.com ([209.85.200.174]) by mail2-smtp-roc.national.inria.fr with ESMTP; 23 Jun 2009 02:35:19 +0200 Received: by wf-out-1314.google.com with SMTP id 26so1438116wfd.0 for ; Mon, 22 Jun 2009 17:35:19 -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=WhuGIBPO8StFZMxMOQXqXobGCoUBfNr3YvfZIUks2RI=; b=r1XNDEdad3x9UpVOdHMM60EXvz0FAMB1DCqxQ3JLWbhIjityv/fgHz0HN8brtZAnAi MDp+QdaHIHb69zCtJe/8btqINpLfBT2Q6vtSOtUkI3C2/seKXdI0RPaTMLS+Cjj2V26B LLVb1sHgmD2dWjnrIXpx8FgZKG974j05q+3I0= 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=r7RGFvPXiilQE9+2tZyod/G0uDPd7lJ523LB2xV6tpXYsM1GL8mIY+0OElwAgOKRav 0cmOJ3KF9OyBQvTQirDnHaffXhP4/tZIj033DG+eqnruJ6UdpaYLWawld13xUwotvye7 TJmKH1k+vXyU8Y0o7nnCi/RQEIBHtx1tmogbQ= MIME-Version: 1.0 Sender: jake.donham@gmail.com Received: by 10.142.134.20 with SMTP id h20mr2963684wfd.342.1245717318959; Mon, 22 Jun 2009 17:35:18 -0700 (PDT) In-Reply-To: <66E06129-1281-48F4-AE9D-E56FD716917A@erratique.ch> References: <4A3BCE1A.3010403@citycable.ch> <91F6B99D-3075-47A1-9257-0BD208C6D5D8@erratique.ch> <66E06129-1281-48F4-AE9D-E56FD716917A@erratique.ch> From: Jake Donham Date: Mon, 22 Jun 2009 17:34:58 -0700 X-Google-Sender-Auth: a930bb443ac615e0 Message-ID: Subject: Re: [Caml-list] Re: Obj.magic and existential types. To: OCaml List Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; existential:01 bunzli:01 buenzli:01 toplevel:01 2009:98 garbage:01 garbage:01 wrote:01 caml-list:01 defined:02 chunk:02 primitive:02 external:03 external:03 top-level:03 On Mon, Jun 22, 2009 at 5:24 PM, Daniel B=FCnzli wrote: > But in this "chunk" can you repeatedly get external (in the sense primiti= ve) > input ? > > Because _if_ you can't then in the breakout game example where you need t= o > constantly gather (external) time and keyboards events you cannot "pipe" > those under a single bind where you create the game simulation and logic > signals needed =A0for a game run as any new keyboard or time event would > garbage collect them. In that case the game signals need to be defined > outside a toplevel bind and cannot be garbage collected by froc, it would= n't > be fixed "by wrapping everything in a top-level bind". I don't totally understand your objection here. Perhaps the question could be resolved (one way or the other) if I were to port the breakout game to froc. In the meantime, there are several web browser examples here: http://froc.googlecode.com/svn/examples/index.html which take external input and do not leak memory. Best regards, Jake