From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 5B63FBC37 for ; Thu, 10 Dec 2009 22:40:58 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmgCAPf5IEtV2gB4h2dsb2JhbACEG5clAQEBCgsIBxWrZ5AbgS+CKlIEgxiGAw X-IronPort-AV: E=Sophos;i="4.47,377,1257116400"; d="scan'208";a="41778942" Received: from emailfrontal1.citycable.ch ([85.218.0.120]) by mail1-smtp-roc.national.inria.fr with SMTP; 10 Dec 2009 22:40:58 +0100 Received: from [192.168.0.12] (unknown [85.218.92.99]) (Authenticated sender: guillaume.yziquel@citycable.ch) by emailfrontal1.citycable.ch (Postfix) with ESMTPA id 21F6812C175; Thu, 10 Dec 2009 22:40:55 +0100 (CET) Message-ID: <4B216AFE.80802@citycable.ch> Date: Thu, 10 Dec 2009 22:41:18 +0100 From: Guillaume Yziquel Reply-To: guillaume.yziquel@citycable.ch User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090707) MIME-Version: 1.0 To: =?UTF-8?B?RGFuaWVsIELDvG56bGk=?= Cc: OCaml List Subject: Re: Recursion on React.events. References: <4B1F0E3A.3040907@citycable.ch> <91a3da520912082353m5c75f307j6f9542877d84841f@mail.gmail.com> <4B1FEB40.5050801@citycable.ch> <91a3da520912100024x5273462bs960efaebd6dff1@mail.gmail.com> In-Reply-To: <91a3da520912100024x5273462bs960efaebd6dff1@mail.gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; guillaume:01 guillaume:01 recursion:01 semantics:01 val:01 recursive:01 clearer:01 typing:01 delayed:01 define:02 define:02 snip:02 usefull:02 confusing:02 confusing:02 Daniel B=C3=BCnzli a =C3=A9crit : >> Maybe I was looking in the wrong place, but I haven't found "the secon= d case >> of the semantics of E.switch" on your website. In fact, the way I lear= ned >> about React.E.switch was from the .mli-style webpage on your website, = and by >> trial and error. >=20 > Here : >=20 > http://erratique.ch/software/react/doc/React.E.html#VALswitch >=20 > Second bullet. I think you should really make a direct link to this page from either http://erratique.ch/software/react/doc/React.html or http://erratique.ch/software/react/doc/index.html because I've been on your website quite a few times, and it's the first=20 time I see this page. (Which is really useful). >> One thing that really troubles me, is that I do not understand why def= ine >> returns a couple of two identical element. And the typing of E.fix is = rather >> confusing: >> >>> val fix : ('a React.event -> 'a React.event * 'b) -> 'b >=20 > Yes it's confusing. It's here to allow to define mutually recursive > definitions and still expose them to the outside world. It is also > usefull if you have other values that depend on the delayed value and > you want to expose them to the outside world. There are example of > this in the breakout.ml example. >=20 > [snip] I tried to rexeplain E.fix and S.fix but I came up with what's > written in their documentation sorry. >=20 > Daniel Same comment for E.fix as for E.switch. I have never seen its=20 documentation before. It's much much clearer now. All the best, --=20 Guillaume Yziquel http://yziquel.homelinux.org/