From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id DA87B7FA80 for ; Thu, 22 Oct 2015 07:40:08 +0200 (CEST) IronPort-PHdr: 9a23:KjrtChM8PzA4+XZ2Qowl6mtUPXoX/o7sNwtQ0KIMzox0KPjzrarrMEGX3/hxlliBBdydsKIZzbKN+PG6EUU7or+/81k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i760zceF13FOBZvIaytQ8iJ35nxj7v5qsebSj4LrQT+SIs6FA+xowTVu5teqqpZAYF19CH0pGBVcf9d32JiKAHbtR/94sCt4MwrqHwI6Lpyv/JHBILRdqE8BehTBTEidmQ0/9HDtB/ZTALJ6GFKAUsMlR8dOBDE9hbhFrr1syzisfd53zLSadb7SbEzQTO/x6huQR7sziwAMmhqoynslsVsgfcD81qarBtlztuMbQ== Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=seliopou@gmail.com; spf=Pass smtp.mailfrom=seliopou@gmail.com; spf=None smtp.helo=postmaster@mail-lf0-f53.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of seliopou@gmail.com) identity=pra; client-ip=209.85.215.53; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="seliopou@gmail.com"; x-sender="seliopou@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of seliopou@gmail.com designates 209.85.215.53 as permitted sender) identity=mailfrom; client-ip=209.85.215.53; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="seliopou@gmail.com"; x-sender="seliopou@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-lf0-f53.google.com) identity=helo; client-ip=209.85.215.53; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="seliopou@gmail.com"; x-sender="postmaster@mail-lf0-f53.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BjAADRdShWlDXXVdFdhApvBqsKhniMDwENgVkhhXyBOgc4FAEBAQEBAQEBEAEBAQEHCwsJHzCCJ4IgER0BGx4DEgMGBzcCJAERAQUBIjWHeAEDEg2UCY1GggiBMT4xi0mBbIJ5iFgKGScNVoQRDBsBAQQOhmmKB4J0gUUFliqFGYgFjmBEizQSI4EXHwEBgkYjgXgiNAGGQgEBAQ X-IPAS-Result: A0BjAADRdShWlDXXVdFdhApvBqsKhniMDwENgVkhhXyBOgc4FAEBAQEBAQEBEAEBAQEHCwsJHzCCJ4IgER0BGx4DEgMGBzcCJAERAQUBIjWHeAEDEg2UCY1GggiBMT4xi0mBbIJ5iFgKGScNVoQRDBsBAQQOhmmKB4J0gUUFliqFGYgFjmBEizQSI4EXHwEBgkYjgXgiNAGGQgEBAQ X-IronPort-AV: E=Sophos;i="5.20,180,1444687200"; d="scan'208";a="183932721" Received: from mail-lf0-f53.google.com ([209.85.215.53]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 22 Oct 2015 07:40:08 +0200 Received: by lffz202 with SMTP id z202so35428347lff.3 for ; Wed, 21 Oct 2015 22:40:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=MSCePiw3kqGEfYIs8ghNinolg9l2Y2xoJsVeVrwgBn8=; b=onZdnbQQUyujeMmg2PtTTB14IIQrJ5eZbT5uoXkhODV5dF5YmZwyyeVeb8J92KIHkj uJ6MjoJC97jbVZXmIv/MWJgNeHsyP3N0uZFJX5q0Ny2JCudnZ0MEvcmfXS0o+rcLUG2N pwolMV6qA4YUhAxmXfyfn7mJTSev5FJYMr5aDA/LE2G05RkzeE2WX+uBnHZOYXgUNAaP 9YW2n/qWFr6JK833uIcpSTJeCx+RTkdeu5Jg+VF4nfLvOWgxPHRqRH/1wbIpqzSJP1g1 HIh39dxy5Vp0EKvlsLVYPxQRS6qz+8dumFKM7R8nglATv1eeahlE4z+epJLOkUpDzLyz OEXA== X-Received: by 10.112.17.105 with SMTP id n9mr7686740lbd.78.1445492407476; Wed, 21 Oct 2015 22:40:07 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.213.2 with HTTP; Wed, 21 Oct 2015 22:39:48 -0700 (PDT) From: Spiros Eliopoulos Date: Thu, 22 Oct 2015 01:39:48 -0400 Message-ID: To: OCaml Content-Type: multipart/alternative; boundary=001a11c3bfee7928580522aaed38 Subject: [Caml-list] ANN: dispatch 0.2.0 with js_of_ocaml support --001a11c3bfee7928580522aaed38 Content-Type: text/plain; charset=UTF-8 Hey List, I'm happy to announce the latest release of dispatch. What's notable about this release is that it includes out-of-the-box js_of_ocaml support. Specifically, it allows you to easily set up front-end applications to use the URI fragment to track state transitions and history. For example: let fragment_thread = Dispatch_js.dispatch_on_fragment ~default:"/" [ ("/" , root_handler) ; ("/user/:id/", user_handler) ] ... creates a thread that will monitor for URI fragment changes and dispatch to the appropriate handler. In addition, it will set the initial fragment to "/" and ensure that the handler for that path is initially called; even if the fragment was already set to "/" when the thread started, dispatch will still occur. Due to the API changes included in this release, webmachine[0]'s version has been bumped to 0.2.1. You can find both the new version of dispatch and webmachine on OPAM. Full but short release notes can be found here: https://github.com/inhabitedtype/ocaml-dispatch/releases/tag/0.2.0 As always, issues and pull requests welcomed. -Spiros E. [0]: https://github.com/inhabitedtype/ocaml-webmachine --001a11c3bfee7928580522aaed38 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hey List,

I'm happy to announce the= latest release of dispatch. What's notable about this release is that = it includes out-of-the-box js_of_ocaml support. Specifically, it allows you= to easily set up front-end applications to use the URI fragment to track s= tate transitions and history. For example:

let fra= gment_thread =3D=C2=A0
=C2=A0 Dispatch_js.dispatch_on_fragment ~d= efault:"/" [
=C2=A0 =C2=A0 =C2=A0 ("/" =C2=A0= =C2=A0 =C2=A0 =C2=A0 , root_handler)
=C2=A0 ; ("/user/:id/", user_handler)
=C2=A0 ]

... creates a thread that will monitor for URI fragme= nt changes and dispatch to the appropriate handler. In addition, it will se= t the initial fragment to "/" and ensure that the handler for tha= t path is initially called; even if the fragment was already set to "/= " when the thread started, dispatch will still occur.

Due to the API changes included in this release, webmachine[0]'= ;s version has been bumped to 0.2.1. You can find both the new version of d= ispatch and webmachine on OPAM.

Full but short rel= ease notes can be found here:


As always, issues and pull requests welcomed.
<= br>
-Spiros E.

--001a11c3bfee7928580522aaed38--