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 C8D3BBBAF for ; Fri, 7 May 2010 20:16:43 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AoECAPr140vRVdQ2kGdsb2JhbACIRZVMCBUBAQEBCQkMBxEDH7FWhSOIfAEBAwWFEASDQh+JdA X-IronPort-AV: E=Sophos;i="4.52,349,1270418400"; d="scan'208";a="58933734" Received: from mail-vw0-f54.google.com ([209.85.212.54]) by mail1-smtp-roc.national.inria.fr with ESMTP; 07 May 2010 20:16:43 +0200 Received: by vws17 with SMTP id 17so728088vws.27 for ; Fri, 07 May 2010 11:16:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:sender:received:from:date :x-google-sender-auth:message-id:subject:to:content-type :content-transfer-encoding; bh=4tgc8qQa6Uceg8RnV+HBqIl7hp4GjKW6+h+xc8WL9LA=; b=UOTCqRFIxmYPQ4PRAkf1GAghB4nDvJ+B6ttGWupAPn6z3jU3JMi61UIuFkR/JJ1E1j Ku6zk/2RwKnyDtazsgfJXr02MKgB47yAEt87t0TeQI3xvQBStro5Vd95QWBUZOPRVCsn J5fQxfpx/Zr7M/XqVsaI6759J7X+lo0Rg0B7A= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:from:date:x-google-sender-auth:message-id :subject:to:content-type:content-transfer-encoding; b=LTcdk8a0XTf6gFrQe3gbswyjx0UHpRfSVbYaXWNhuO5k9a4q5IW8CJlfs4eWEPJxV+ l2n0KSXMiZb+oWCqaZDWfN8zLrN3cTeyobV1IgRZvGCk5fIFJjgCckiuvQpDTOgni8t3 aTWTLneX5KPjs02RobVAxjmixpkVFzDo7yu0c= Received: by 10.220.107.162 with SMTP id b34mr276189vcp.95.1273256201373; Fri, 07 May 2010 11:16:41 -0700 (PDT) MIME-Version: 1.0 Sender: jake.donham@gmail.com Received: by 10.220.100.84 with HTTP; Fri, 7 May 2010 11:16:21 -0700 (PDT) From: Jake Donham Date: Fri, 7 May 2010 11:16:21 -0700 X-Google-Sender-Auth: 85eb01c0cb51ef3a Message-ID: Subject: ANN: froc 0.2 To: OCaml List Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; ocaml:01 model:01 avoided:01 subtyping:01 bug:01 bunzli:01 blog:98 functions:01 computation:01 data:02 structures:02 functional:02 supported:02 programming:03 library:03 Hi list, I am happy to announce the release of version 0.2 of the froc library for functional reactive programming in OCaml. There are a number of improvements: * better event model: there is now a notion of simultaneous events, and behaviors and events can now be freely mixed * self-adjusting computation (see http://ttic.uchicago.edu/~umut/projects/self-adjusting-computation/) is now supported via memo functions; needless recomputation can be avoided in some cases * faster priority queue and timeline data structures * behavior and event types split into co- and contra-variant views for subtyping * bug fixes and cleanup Development of froc has moved from Google Code to Github; see * project page: http://github.com/jaked/froc * documentation: http://jaked.github.com/froc * downloads: http://github.com/jaked/froc/downloads Thanks to Ruy Ley-Wild for helpful discussion, and to Daniel B=FCnzli for helpful discussion and many good ideas in React. You may be interested in this blog post describing the implementation: http://ambassadortothecomputers.blogspot.com/2010/05/how-froc-works.html I hope you find this work useful. Let me know what you think. Jake