caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Zheng Li <li@pps.jussieu.fr>
To: caml-list@inria.fr
Cc: Roberto Di Cosmo <roberto@dicosmo.org>
Subject: [ANN] STMlib and Enhtop available
Date: Tue, 06 Mar 2007 15:37:21 +0100	[thread overview]
Message-ID: <87d53mzbdq.fsf@pps.jussieu.fr> (raw)


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


             reply	other threads:[~2007-03-06 14:51 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-06 14:37 Zheng Li [this message]
2007-03-13  2:08 ` Zheng Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d53mzbdq.fsf@pps.jussieu.fr \
    --to=li@pps.jussieu.fr \
    --cc=caml-list@inria.fr \
    --cc=roberto@dicosmo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).