This looked very interesting ... but since 1 week I cannot access the
server (connection drop, too long).
> Hello,
> 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 athttp://users.wpi.edu/~squirrel/repos/ocamlrt2
> but recently vanished. The version athttp://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.
> _______________________________________________
> Caml-list mailing list. Subscription management:http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives:http://caml.inria.fr
> Beginner's list:http://groups.yahoo.com/group/ocaml_beginners
> Bug reports:http://caml.inria.fr/bin/caml-bugs