Permalink
Browse files

Added FAQ and updated README

  • Loading branch information...
mpilquist committed Aug 23, 2017
1 parent a78e2f4 commit 5cdac2c3c8f1ed7817d63a6c7f581e248c02a6f7
Showing with 26 additions and 6 deletions.
  1. +17 −6 README.md
  2. +9 −0 docs/faq.md
View
@@ -55,27 +55,38 @@ The library supports a number of other interesting use cases:
### <a id="docs"></a>Documentation and getting help ###
* [The official guide](docs/guide.md) is a good starting point for learning more about the library.
* [The FAQ](docs/faq.md) has frequently asked questions. Feel free to open issues or PRs with additions to the FAQ!
* Also feel free to come discuss and ask/answer questions in [the gitter channel](https://gitter.im/functional-streams-for-scala/fs2) and/or on StackOverflow using [the tag FS2](http://stackoverflow.com/tags/fs2).
Blog posts and other external resources are listed on the [Additional Resources](https://github.com/functional-streams-for-scala/fs2/wiki/Additional-Resources) page.
### <a id="getit"></a> Where to get the latest version ###
The 0.9 release is out and we recommend upgrading. You may want to first [read the migration guide](docs/migration-guide.md) if you are upgrading from 0.8 or earlier. To get 0.9, add the following to your SBT build:
The 0.10 release is almost complete and will be released when Cats 1.0 is released. Milestone builds are available now. The [0.10 migration guide](docs/migration-guide-0.10.md) summarizes the differences between 0.10 and 0.9. To get 0.10, add the following to your SBT build:
```
// available for Scala 2.11.8, 2.12.0
libraryDependencies += "co.fs2" %% "fs2-core" % "0.9.6"
// available for Scala 2.11, 2.12
libraryDependencies += "co.fs2" %% "fs2-core" % "0.10.0-M5"
// optional I/O library
libraryDependencies += "co.fs2" %% "fs2-io" % "0.10.0-M5"
```
The 0.9 release is out and we recommend upgrading. You may want to first [read the 0.9 migration guide](docs/migration-guide-0.9.md) if you are upgrading from 0.8 or earlier. To get 0.9, add the following to your SBT build:
```
// available for Scala 2.11, 2.12
libraryDependencies += "co.fs2" %% "fs2-core" % "0.9.7"
// optional I/O library
libraryDependencies += "co.fs2" %% "fs2-io" % "0.9.6"
libraryDependencies += "co.fs2" %% "fs2-io" % "0.9.7"
```
The fs2-core library is also supported on Scala.js:
```
// available for Scala 2.11.8, 2.12.0
libraryDependencies += "co.fs2" %%% "fs2-core" % "0.9.6"
libraryDependencies += "co.fs2" %%% "fs2-core" % "0.9.7"
```
API docs:
@@ -92,7 +103,7 @@ If you have a project you'd like to include in this list, either open a PR or le
* [doobie](https://github.com/tpolecat/doobie): Pure functional JDBC built on fs2.
* [fs2-http](https://github.com/Spinoco/fs2-http): Http server and client library implemented in fs2.
* [http4s](http://http4s.org/): Minimal, idiomatic Scala interface for HTTP services using fs2.
* [fs2-kafka](https://github.com/Spinoco/fs2-kafka): Simple client for Apache Kafka.
* [fs2-kafka](https://github.com/Spinoco/fs2-kafka): Simple client for Apache Kafka.
* [fs2-rabbit](https://github.com/gvolpe/fs2-rabbit): Stream-based client for RabbitMQ built on top of Fs2.
* [scodec-stream](https://github.com/scodec/scodec-stream): A library for streaming binary decoding and encoding, built using fs2 and [scodec](https://github.com/scodec/scodec).
* [streamz](https://github.com/krasserm/streamz): A library that supports the conversion of [Akka Stream](http://doc.akka.io/docs/akka/2.4/scala/stream/index.html) `Source`s, `Flow`s and `Sink`s to and from FS2 `Stream`s, `Pipe`s and `Sink`s, respectively. It also supports the usage of [Apache Camel](http://camel.apache.org/) endpoints in FS2 `Stream`s and Akka Stream `Source`s, `Flow`s and `SubFlow`s.
View
@@ -0,0 +1,9 @@
# Frequently Asked questions
### Why does stream evaluation sometimes hang in the REPL?
Sometimes, stream programs that call `unsafeRunSync` or other blocking operations hang in the REPL. This is a result of the Scala 2.12's lambda encoding and is tracked in [SI-9076](https://issues.scala-lang.org/browse/SI-9076). There are various workarounds:
- Add `-Ydelambdafy:inline` to REPL arguments
- In Ammonite, run `interp.configureCompiler(_.settings.Ydelambdafy.tryToSetColon(List("inline")))`
- In SBT, add `scalacOptions in Console += "-Ydelambdafy:inline"`
- Instead of calling `s.unsafeRunSync`, call `s.unsafeRunAsync(println)` or `Await.result(s.unsafeToFuture, timeout)`

0 comments on commit 5cdac2c

Please sign in to comment.