Fibers, Channels and Actors for Clojure
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src Merge branch '0.7.0' May 24, 2017
travis Don't fail for some more commands in `` Dec 1, 2015
COPYING.LESSER lgpl license files May 3, 2013

Fibers, Channels and Actors for Clojure

Build Status Dependency Status Version License License

Pulsar wraps the Quasar library with a Clojure API that's very similar to Erlang.


Java 7 and up and Clojure 1.5 and up are required to run Pulsar.

Getting started

Add the following dependencies to Leiningen's project.clj:

[co.paralleluniverse/quasar-core "0.7.9"]
[co.paralleluniverse/pulsar "0.7.9"]

Then, the following must be added to the project.clj file:

:java-agents [[co.paralleluniverse/quasar-core "0.7.9"]]

or, add the following to the java command line:


Alternatively, to build Pulsar from the source, clone the repository and run:

lein midje

You can run the examples like this:

lein -o run -m co.paralleluniverse.pulsar.examples.pingpong

For benchmarks, you should use lein trampoline, like so:

lein trampoline run -m co.paralleluniverse.pulsar.examples.ring-benchmark 1000 1000


Documentation and examples can be found here.

You can also read the introductory blog post.

When running code that uses Pulsar, the instrumentation agent must be run by adding the following to the java command line or to the :jvm-opts section in project.clj:




Contributions (including Pull Requests)

Please have a look at some brief information for contributors.


Pulsar is free software published under the following license:

Copyright © 2013-2017 Parallel Universe

This program and the accompanying materials are dual-licensed under
either the terms of the Eclipse Public License v1.0 as published by
the Eclipse Foundation

  or (per the licensee's choosing)

under the terms of the GNU Lesser General Public License version 3.0
as published by the Free Software Foundation. alpha