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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id E12FF7F89E; Wed, 2 Apr 2014 18:01:30 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=pra; client-ip=74.55.86.74; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=mailfrom; client-ip=74.55.86.74; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@smtp.webfaction.com) identity=helo; client-ip=74.55.86.74; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="postmaster@smtp.webfaction.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhIEAM8zPFNKN1ZKnGdsb2JhbABZg0GCQYEgwhEOAQEBAQEGDQkJFCiCT4ELAiYCSRYBGodxBAmscaIpF4EpkD01gRQEmgmFBRePHA X-IPAS-Result: AhIEAM8zPFNKN1ZKnGdsb2JhbABZg0GCQYEgwhEOAQEBAQEGDQkJFCiCT4ELAiYCSRYBGodxBAmscaIpF4EpkD01gRQEmgmFBRePHA X-IronPort-AV: E=Sophos;i="4.97,780,1389740400"; d="scan'208";a="55275154" Received: from mail6.webfaction.com (HELO smtp.webfaction.com) ([74.55.86.74]) by mail3-smtp-sop.national.inria.fr with ESMTP; 02 Apr 2014 18:01:29 +0200 Received: from [172.20.10.2] (45-228.197-178.cust.bluewin.ch [178.197.228.45]) by smtp.webfaction.com (Postfix) with ESMTP id CCABB22222B0; Wed, 2 Apr 2014 16:01:26 +0000 (UTC) Date: Wed, 2 Apr 2014 18:01:22 +0200 From: =?utf-8?Q?Daniel_B=C3=BCnzli?= To: Ocsigen project mailing list , caml list Message-ID: <77DB6A35979C449C90DEAC36896DA971@erratique.ch> X-Mailer: sparrow 1.6.4 (build 1178) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: [Caml-list] [ANN] React 1.0.0 Hello, I'd like to announce the release of React 1.0.0 which should be available shortly in opam. React provides declarative events and signals for functional reactive programming (FRP). Home page: http://erratique.ch/software/react API Documentation: http://erratique.ch/software/react/doc/React This is an incompatible release. Here are the main changes: 1. Exposes update steps (formerly called update cycles) in the API. This allows to perform transaction-like, semantically simultaneous, *primitive* signal updates and event occurences. It can make the reactive engine both more convenient and efficient for certain use cases. http://erratique.ch/software/react/doc/React.Step 2. To avoid leaks when weak arrays are not (i.e. JavaScript), some form of manual memory management can now be performed by using the new `strong` optional parameter of {S,E}.stop on the leaves of your reactive system. http://erratique.ch/software/react/doc/React#strongstop 3. S.switch no longer requires a bootstrapping argument. As a result S.bind is now trivially definable and is provided by the module. Consult the release notes for an equation to migrate your code. Other details are in the release notes: https://github.com/dbuenzli/react/blob/master/CHANGES.md Best, Daniel