Skip to content
forked from lampepfl/gears

A strawman for a low-level async library in Scala 3.

Notifications You must be signed in to change notification settings

alexandru/gears

 
 

Repository files navigation

gears

GitHub Release GitHub Actions Workflow Status Homepage API Documentation Link

An Experimental Asynchronous Proramming Library for Scala 3. It aims to be:

  • Simple: enables direct-style programming (suspending with .await, calling Async-functions directly) and comes with few simple concepts.
  • Structured: allows an idiomatic way of structuring concurrent programs minimizing computation leaking (structured concurrency), while providing a toolbox for dealing with external, unstructured events.
  • Cross-platform: Works on both JVM >=21 and Scala Native.

Getting Started

The Gears Book is a great way to getting started with programming using Gears. It provides a tutorial, as well as a guided walkthrough of all concepts available within Gears.

Setting up on an unpublished version of Gears

You will need JDK >= 21 and Scala Native set up.

sbt publishLocal

Contributing

We are happy to take issues, pull requests and discussions!

For a quick look at our development environment and workflow, check our the contributing guide.

Related Projects

You might also be interested in:

  • ox: Safe direct-style concurrency and resiliency for Scala on the JVM.

License

APACHE 2.0

About

A strawman for a low-level async library in Scala 3.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scala 99.0%
  • Nix 1.0%