[cwn] Attn: Development Editor, Latest Caml Weekly News

Alan Schmitt alan.schmitt at polytechnique.org
Mon Jan 19 23:41:43 PST 2009


Hello,

Here is the latest Caml Weekly News, for the week of January 13 to 20,  
2009.

1) React 0.9.0
2) Rtime 0.9.0

========================================================================
1) React 0.9.0
Archive: <http://groups.google.com/group/fa.caml/browse_thread/thread/88435fddcac27fbf# 
 >
------------------------------------------------------------------------
** Daniel Bünzli announced:

I'd like to announce the following module.

React is an OCaml module for functional reactive programming (frp). It
provides support to program with time varying values : applicative  
events and
signals. React doesn't define any primitive event or signal, this lets  
the
client chooses the concrete timeline.

React is made of a single, independent, module and distributed under  
the new
BSD license.

Project home page : <http://erratique.ch/software/react>

Although the code is feature complete and has been tested it has not  
been in
large scale programs yet. A stable 1.0.0 will be published once I feel  
we have
the right api.

Your reactions are welcome,

Daniel


P.S.
Various incarnations of frp (frtime, yampa, flapjax, ocamlrt,  
reactive) helped
to implement React, thanks to their authors for sharing their source.

P.P.S.
Here's the answer to the forthcoming question about how React compares  
to
ocamlrt. Following are the points I think are different and worth  
mentioning.
But as I don't claim to have a thorough understanding of how ocamlrt  
works
feel free to correct me or make additions. ocamlrt used to be located at
<http://users.wpi.edu/~squirrel/repos/ocamlrt2> but recently vanished.  
The
version at <http://code.google.com/p/ocamlrt> seems to be an older one.

* React doesn't use the object system. ocamlrt uses it internally.

* React doesn't use any global data structures. Care is still needed in
   multithreaded environments (see docs), but React is more thread and  
modular
   friendly.

* React treats constant signals separately via smart constructors,  
they are
   not part of the dataflow graph.

* React uses weak pointers in the dataflow graph's forward  
dependencies and in
   the update queue to prevent space leaks. ocamlrt leaks.

* React uses client provided functions to test signal value equality.  
ocamlrt
   doesn't deal correctly with effectful signals. Correctly means no  
value
   change (according to equality), no update, no effect.

* React has most of pervasives' functions on ints, floats and booleans  
already
   lifted in specific modules that may be opened in a given context.

* React is (and will be) only a pure OCaml reactive runtime.  
Interfacing with
   primitive events, signals or real time is left to React's clients.  
In other
   words React corresponds to the functionality provided by the  
library fr of
   ocamlrt.

* React has a precise description of the combinators' semantic in the
   documentation.

* React doesn't depend on extlib.

* Performance ? I don't really know. Some aspects may make React  
faster :
   doesn't leak, doesn't use a global datastore (which involves a  
hashtable and
   universal types). Some aspects may make it slower : use of weak  
references,
   subtleties in signal creation, correct treatment of equality.

* Being inavailable ocamlrt seems to be a dead project.
			
========================================================================
2) Rtime 0.9.0
Archive: <http://groups.google.com/group/fa.caml/browse_thread/thread/7538cbe5978c8dd2# 
 >
------------------------------------------------------------------------
** Daniel Bünzli announced:

Related to my previous annoucement is the following module.

Rtime is an OCaml module implementing timelines for React [1]. It  
manages time
stamp events, delayed events and delayed signals along timelines. The  
client
chooses the concrete timeline by providing an absolute notion of time.  
Running
the timeline at the appropriate pace is left to the client.

Rtime is made of a single module and depends on React. It is  
distributed under
the new BSD license.

Project home page : <http://erratique.ch/software/rtime>

Although the code is feature complete and has been tested it has not  
been in
large scale programs yet. A stable 1.0.0 will be published once I feel  
we have
the right api.

Your feedback is welcome,

Daniel

[1] available at <http://erratique.ch/software/react>
			
========================================================================
Using folding to read the cwn in vim 6+
------------------------------------------------------------------------
Here is a quick trick to help you read this CWN if you are viewing it  
using
vim (version 6 or greater).

:set foldmethod=expr
:set foldexpr=getline(v:lnum)=~'^=\\{78}$'?'<1':1
zM
If you know of a better way, please let me know.

========================================================================
Old cwn
------------------------------------------------------------------------

If you happen to miss a CWN, you can send me a message
(alan.schmitt at polytechnique.org) and I'll mail it to you, or go take a  
look at
the archive (<http://alan.petitepomme.net/cwn/>) or the RSS feed of the
archives (<http://alan.petitepomme.net/cwn/cwn.rss>). If you also wish
to receive it every week by mail, you may subscribe online at
<http://lists.idyll.org/listinfo/caml-news-weekly/> .

========================================================================

-- 
Alan Schmitt <http://alan.petitepomme.net/>

The hacker: someone who figured things out and made something cool  
happen.
  .O.
  ..O
  OOO


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20090120/b8b39bb4/attachment.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 194 bytes
Desc: This is a digitally signed message part
Url : http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20090120/b8b39bb4/attachment.pgp 


More information about the caml-news-weekly mailing list