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: [ANN] coThreads 0.10
Date: Mon, 17 Sep 2007 18:31:32 +0200	[thread overview]
Message-ID: <87lkb5fe3f.fsf@pps.jussieu.fr> (raw)


Hi,

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:29 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-17 16:31 Zheng Li [this message]
2007-09-17 16:48 ` Zheng Li
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=87lkb5fe3f.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).