guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ann] fibers v0.3.0 released


From: Andy Wingo
Subject: [ann] fibers v0.3.0 released
Date: Wed, 12 Oct 2016 15:59:42 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hi,

I just cut a new release of Fibers, a concurrency library for Guile.
Find it here:

  https://wingolog.org/pub/fibers/fibers-0.3.0.tar.gz

  $ sha256sum fibers-0.3.0.tar.gz 
  a7267b8e10229f9d7e64e1903507d9baf7c15705abb87f953d2d53c6ac6886b5  
fibers-0.3.0.tar.gz

Project page here:

  https://github.com/wingo/fibers

There is a texinfo manual inside, or you can read it on the web site:

  https://github.com/wingo/fibers/wiki/Manual

The interesting change in this release was that I rewrote the channels
and timers implementation in terms of Concurrent ML-like primitives.
That let me implement "select"-like functionality, where you can
efficiently wait for one of a number of operations to complete.  See the
manual for more.

There is also a new REPL integration which I just now realized that I
forgot to document :)

  scheme@(guile-user)> (use-modules (fibers))
  scheme@(guile-user)> ,help fibers
  Fibers Commands [abbrev]:

   ,scheds                           - Show a list of schedulers.
   ,spawn-sched                      - Create a new scheduler for fibers, and 
run it on a new kernel thread.
   ,kill-sched SCHED                 - Shut down a scheduler.
   ,fibers [SCHED]                   - Show a list of fibers.
   ,spawn-fiber EXP [SCHED]          - Spawn a new fiber that runs EXP.
   ,kill-fiber FIBER                 - Shut down a fiber.

I think ,kill-fiber doesn't work yet.  Anyway it's a nice way to
experiment.  Run ,spawn-fiber (pk 'hey) to give it a go.

Happy hacking,

Andy



reply via email to

[Prev in Thread] Current Thread [Next in Thread]