[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2007-03-06 (14:51) |
From: | Zheng Li <li@p...> |
Subject: | [ANN] STMlib and Enhtop available |
Hi list, I recently announced the availability of these two small piece of code at the beginners list [1][2]. Then some people kindly encouraged me to post it here also. Here are they: STMlib ====== This is a user-space implementation of STM (Software Transactional Memory) library for OCaml. It's mainly inspired by the STM library of Haskell, with some exceptions due to the different nature of languages and different strategies of implementation. - This library is a user level implementation, whereas the Haskell version is based on primitives built into the runtime. - This library is purely an add-on to the already existed concurrent library of standard OCaml: threads, processes (TODO) and network programs (TODO). I.e. you can still program your concurrent applications with all facilities already exist in OCaml (e.g. Thread, Event, Unix etc.), but with the functions from this library you may transactionally read/write shared data instead of using locks or messages (and you may mix them if you really want). - There are subtle differences on the signatures and semantics of some specific functions between this library and the Haskell version. They are documented in the library manual. Currently only the threads (also vmthread) back-end is provided as a proof of concept. Other back-ends (process and network program), which share the exact interface, will come out in future version. The object is being able to write one .ml source program, compile once, but link with different back-ends to get executables of various execution model for different environments. Source code and documents are available at http://www.pps.jussieu.fr/~li/software/index.html#stmlib Enhtop ====== This is an experimental patch (we also provide pre-built testing executable and Debian package) for an enhanced OCaml toplevel with following features: For any kind of bindings (i.e. value, type, module, class etc.): * Identifiers been rebound are shown differently by default, to distinguish with currently effective ones * A new directive to query (by kinds or names or their composition) and show both current and history bindings * A new directive to show the current binding of any identifier without evaluating or rebinding it * A type-check-only testing mode to experiment your definitions without polluting the world, and the directive to enter/leave it Documents (running examples and installation instructions) and deliverables are available at http://www.pps.jussieu.fr/~li/software/index.html#enhtop PS. some wrong dependency (on libc6-dev 2.5) in the previously provided Debian packages is now fixed. Enjoy! [1] http://tech.groups.yahoo.com/group/ocaml_beginners/message/7390 [2] http://tech.groups.yahoo.com/group/ocaml_beginners/message/7393 -- Zheng Li http://www.pps.jussieu.fr/~li