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
Subject: Re: [ANN] coThreads 0.10
Date: Mon, 17 Sep 2007 18:48:50 +0200	[thread overview]
Message-ID: <87sl5d8cgd.fsf@pps.jussieu.fr> (raw)
In-Reply-To: <87lkb5fe3f.fsf@pps.jussieu.fr>


Hi,

Really sorry for the format in the previous posts. Something must be wrong with
my Emacs setting. Anyway, here is the reformatted one, hope it works.

I'd like to announce the first public release of coThreads, a concurrent
programming library for OCaml.

It originated as STMlib [1], and was accepted as a Google Summer of Code 2007
project [2] mentored by Yoriyuki Yamagata from the Free Software Initiative of
Japan [3].

The official website of coThreads is http://cothreads.sourceforge.net where you
can find the source code and some preliminary documents. It's a wiki-based
website, so feel free to register and contribute.

A byproduct of the project, the Vprint [4] module, was already announced
independently a few weeks ago on this list.   

Enjoy.   

[1] http://www.pps.jussieu.fr/~li/software/index.html#stmlib
[2] http://code.google.com/soc/2007/ 
[3] http://fsij.org 
[4] http://www.pps.jussieu.fr/~li/software/index.html#vprint


>From the README:
==============================================================================

= Description =  

coThreads is a concurrent programming library for OCaml. It enhances the
Threads library of the standard OCaml distribution in two dimensions:

* coThreads implements the same API of the standard Threads library on
  different execution engines (process, netwoker(todo)), so that a single copy
  of source code can be compiled and deployed to different environments without
  modification
* coThreads is also a super set of the standard Threads library, with extra
  components (STM etc.), functions (spawn etc.) and features (object-level
  compatibility etc.)

= Features =

The design of coThreads brings several advantages: 

== Powerfulness ==  

* The process engine can give you real speedup on multi-core and
  multi-processor machines, the networker engine (todo) will give you both
  speedup and scalability. 
* Combining the original components from the Threads library and the newly
  added ones, coThreads is a full-fledged toolbox covering two main concurrent
  programming paradigms, namely shared-memory and message passing, with both
  high-level and low-level constructors. 
* All constructors (e.g. thread, mutex, condition, event, channel, tvar, stm
  etc.) are first class values that can be communicated and shared between
  independent threads.

== Compatibility ==  

* Full compatibility with the original Threads library (systhreads and
  vmthreads), so that you can now deploy your legacy code to new environment
  for free — without modifying source code, without learning something new.
* Both source-level and object-level compatibility among different execution
  engines, so that you can keep a single copy of source code as well as a
  single copy of objects files.

== Convenience ==  

* The full library is implemented in user-space, no modification to the OCaml
compiler and runtime, so that you can use it as a set of plain modules.
* Switching engines is as easy as changing the include paths of compilation,
and it's quite easy to automate the building process over a set of engines
(e.g. with lines of pattern rules in your Makefile)

-- 
Zheng Li
http://www.pps.jussieu.fr/~li


  reply	other threads:[~2007-09-17 16:46 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-17 16:31 Zheng Li
2007-09-17 16:48 ` Zheng Li [this message]
2007-09-17 17:39   ` [Caml-list] " skaller
2007-09-17 17:51     ` Zheng Li
2007-09-17 21:33       ` [Caml-list] " skaller
2007-09-17 22:37         ` Zheng Li
2007-09-17 23:26           ` [Caml-list] " skaller
2007-09-18  0:16             ` Zheng Li
2007-09-18  0:53   ` [Caml-list] " Erik de Castro Lopo
2007-09-18  1:25     ` Erik de Castro Lopo
2007-09-18  4:29     ` skaller
2007-09-19 10:11   ` Erik de Castro Lopo
2007-09-19 10:58     ` Can coThreads be used for message passing architecture? Jan Kybic
2007-09-19 11:13       ` [Caml-list] " Erik de Castro Lopo
2007-09-19 12:59         ` Zheng Li
2007-09-20  4:16         ` [Caml-list] " Jon Harrop
2007-09-20  6:11           ` Erik de Castro Lopo
2007-09-20  9:06             ` Zheng Li
2007-09-20  8:49           ` Zheng Li
2007-09-19 19:13   ` [Caml-list] Re: [ANN] coThreads 0.10 Vu Ngoc San
2007-09-19 20:10     ` Zheng Li
2007-09-20  0:50       ` [Caml-list] " skaller
2007-09-20  4:29         ` Erik de Castro Lopo
2007-09-20  7:11           ` skaller
2007-09-20  7:52             ` Erik de Castro Lopo
2007-09-20  8:37               ` Zheng Li
2007-09-20 10:43                 ` [Caml-list] " skaller
2007-09-20 10:44                   ` Matthew Hannigan
2007-09-20 15:02                     ` skaller
2007-09-20 15:07                       ` Christophe Raffalli
2007-09-20 15:51                         ` skaller
2007-09-20 16:26                       ` Florian Weimer
2007-09-20 17:37                         ` Vincent Aravantinos
2007-09-21 16:33                       ` readline license (was: [ANN] coThreads 0.10) Xavier Leroy
2007-09-21 17:11                         ` [Caml-list] " Matthew William Cox
2007-09-21 18:05                         ` skaller
2007-09-21 21:51                           ` [Caml-list] Re: readline license Markus E L
2007-09-21 22:16                             ` Daniel Bünzli
2007-09-22  0:49                           ` [Caml-list] Re: readline license (was: [ANN] coThreads 0.10) Matthew Hannigan
2007-09-20 11:39                   ` [Caml-list] Re: [ANN] coThreads 0.10 Florian Weimer
2007-09-20 15:46                     ` skaller
2007-09-20 18:14                       ` Ken Rose
2007-09-20  8:31           ` Zheng Li
2007-09-20  8:18         ` Zheng Li
2007-09-18  2:10 ` [Caml-list] " Erik de Castro Lopo
2007-09-18  5:59   ` skaller
2007-09-18  6:23     ` Erik de Castro Lopo
2007-09-18  9:01       ` Zheng Li
2007-09-18 13:40         ` Zheng Li
2007-09-18 23:53           ` [Caml-list] " Erik de Castro Lopo
2007-09-18  9:09       ` [Caml-list] " skaller
2007-09-18 13:03       ` Markus E L

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=87sl5d8cgd.fsf@pps.jussieu.fr \
    --to=li@pps.jussieu.fr \
    --cc=caml-list@inria.fr \
    /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).