From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id q1HIHADx021463 for ; Fri, 17 Feb 2012 19:17:10 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ar4BALiYPk/RVaC2kGdsb2JhbABDhRisGGsIIgEBAQEJCQ0HFAQjgg4CDwQZARseAxIDDTcCBCABEQEFASI1h2edaoJdCosmTIJyhRE/gQsCBQuMTwUBgzIaFwMGAgMCAYI6gRYElTeOKT2EAw X-IronPort-AV: E=Sophos;i="4.73,439,1325458800"; d="scan'208";a="144803572" Received: from mail-gy0-f182.google.com ([209.85.160.182]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 17 Feb 2012 19:17:05 +0100 Received: by ghbg15 with SMTP id g15so2787806ghb.27 for ; Fri, 17 Feb 2012 10:17:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; bh=yxHdwY11EaOnymXU42pFfFIJKQZ7bMQ4XK6zYfDU1Cc=; b=j5FjToL3crJ0lxBFDJFGs9pUDn3YnRDAnMf04t1Gr7YVGsY3nzMNZ2admbj4Z8xGqx TwGt37DlBEk3HC7fkw2v6iY8TwEKR+VThWrznSAttNGvEszYvZ60oZWKchz4Xoh3yYCk 4c1UdTAwjhzCajlUuDmfNWT5uSBU9drcLX/KA= Received: by 10.101.141.1 with SMTP id t1mr3303596ann.44.1329502623839; Fri, 17 Feb 2012 10:17:03 -0800 (PST) MIME-Version: 1.0 Received: by 10.236.67.47 with HTTP; Fri, 17 Feb 2012 10:16:42 -0800 (PST) From: Pierre-Alexandre Voye Date: Fri, 17 Feb 2012 19:16:42 +0100 Message-ID: To: caml-list Content-Type: multipart/alternative; boundary=0016e68de9809f35c104b92cf3e2 Subject: [Caml-list] How an exception could be an argument --0016e68de9809f35c104b92cf3e2 Content-Type: text/plain; charset=UTF-8 Hello, I'm trying to implement a scala concept "partial application" in which one can chains pattern matching function. If the first failed, the second is tried. It seems it is impossible to give an exception as argument to a function. exception Nothing;; let (<|||>) a b = try a with | Nothing -> (try b with | Nothing -> raise Nothing);; val ( <|||> ) : 'a -> 'a -> 'a = (raise Nothing) <|||> "jj";; Exception: Nothing. But if I try : try (raise Nothing) with | Nothing -> (try "jj"with | Nothing -> raise Nothing);; - : string = "jj" Is there a workaround ? Regards, P-A -- --------------------- https://twitter.com/#!/ontologiae/ http://linuxfr.org/users/montaigne --0016e68de9809f35c104b92cf3e2 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 SGVsbG8sIEkmIzM5O20gdHJ5aW5nIHRvIGltcGxlbWVudCBhIHNjYWxhIGNv bmNlcHQgJnF1b3Q7cGFydGlhbCBhcHBsaWNhdGlvbiZxdW90OyBpbiB3aGlj aCBvbmUgY2FuIGNoYWlucyBwYXR0ZXJuIG1hdGNoaW5nIGZ1bmN0aW9uLiBJ ZiB0aGUgZmlyc3QgZmFpbGVkLCB0aGUgc2Vjb25kIGlzIHRyaWVkLjxicj5J dCBzZWVtcyBpdCBpcyBpbXBvc3NpYmxlIHRvIGdpdmUgYW4gZXhjZXB0aW9u IGFzIGFyZ3VtZW50IHRvIGEgZnVuY3Rpb24uPGJyPgoKPGJyPjxicj48YnI+ ZXhjZXB0aW9uIE5vdGhpbmc7Ozxicj48YnI+bGV0ICgmbHQ7fHx8Jmd0Oykg YSBiID0gdHJ5IGEgd2l0aMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgPGJyPgoKwqAgfCBOb3RoaW5nIC0mZ3Q7wqAgKHRyeSBi IHdpdGjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIDxicj4KCsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IE5vdGhpbmcgLSZndDsgcmFpc2UgTm90aGluZyk7O8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPGJy PgoKdmFsICggJmx0O3x8fCZndDsgKSA6ICYjMzk7YSAtJmd0OyAmIzM5O2Eg LSZndDsgJiMzOTthID0gJmx0O2Z1biZndDvCoCA8YnIgY2xlYXI9ImFsbCI+ PGJyPjxicj4ocmFpc2UgTm90aGluZykgJmx0O3x8fCZndDsgJnF1b3Q7amom cXVvdDs7O8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgPGJyPgoKRXhjZXB0aW9uOiBOb3RoaW5nLsKgIDxicj48YnI+PGJyPkJ1 dCBpZiBJIHRyeSA6PGJyPnRyeSAocmFpc2UgTm90aGluZynCoCB3aXRowqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA8 YnI+CgrCoCB8IE5vdGhpbmcgLSZndDvCoCAodHJ5ICZxdW90O2pqJnF1b3Q7 d2l0aMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCA8YnI+CgrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCBOb3RoaW5nIC0mZ3Q7IHJhaXNlIE5vdGhpbmcpOzvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDxicj4KCi0g OiBzdHJpbmcgPSAmcXVvdDtqaiZxdW90O8KgIDxicj48YnI+SXMgdGhlcmUg YSB3b3JrYXJvdW5kID88YnI+Cjxicj48YnI+UmVnYXJkcyw8YnI+UC1BPGJy Pi0tIDxicj4tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+PGEgaHJlZj0iaHR0 cHM6Ly90d2l0dGVyLmNvbS8jJTIxL29udG9sb2dpYWUvIiB0YXJnZXQ9Il9i bGFuayI+aHR0cHM6Ly90d2l0dGVyLmNvbS8jIS9vbnRvbG9naWFlLzwvYT48 YnI+PGEgaHJlZj0iaHR0cDovL2xpbnV4ZnIub3JnL3VzZXJzL21vbnRhaWdu ZSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9saW51eGZyLm9yZy91c2Vycy9t b250YWlnbmU8L2E+PGJyPgoKPGJyPgo= --0016e68de9809f35c104b92cf3e2--