My fs2 (was scalaz-stream) User Notes
  • Introduction
  • Foundations
  • Design Patterns
    • Category Theory Express Design Patterns
    • Category Theory
      • Semigroup
      • Monoid
      • Functor
      • Applicative
      • Products\/Coproducts
      • Monad
      • Free Monad
    • Category Theory for fs2
  • fs2 Core Model
    • Streams and Graphs
    • Composability
    • API
    • Effects
      • fs2 Effects
    • Smart Constructors and Combinators
  • fs2 Basics
    • Technical Setup
    • Simple Streams
    • Effectful Streams
    • Error Handling and Resource Management
    • Sinks
    • Channels and Exchanges
    • Combining Streams: Wye and Tee
    • Refs
  • Cookbook
    • Recipe: onFinish for Task
    • Recipe: Changing Seq[A] to A
    • Recipe: Debugging with toString
    • Recipe: Retrieving Web Pages
    • Recipe: Converting an Iterator to a Stream
    • Recipe: Data-Driven Stream
    • Recipe: Evaluate a Task Periodically
    • Recipe: Delay running a stream
    • Recipe: Stop an infinite Stream when you want to
    • Recipe: CSV Parsing with univocity
    • Recipe: CSV Parsing with node.js csv-parse using Readable => Stream
  • fs2 Examples
    • Akka Examples
    • Cafe
    • More Than One Stream
Powered by GitBook
On this page

Was this helpful?

Design Patterns

You are probably already programming in scala although you may not be an expert. If you come from a OOP background it can take a long time, years in some cases, to become fluent in functional programming. Generally, using more functional programming approaches and designs in your projects is a good idea. Scalaz, the base library, assumes a functional programming model and leverages the vocabulary of category theory, a computer science and mathematical discipline. Scalaz-stream uses the language of "processes" to describe its components and uses scalaz underneath.

You do not need to be a disciple of category theory to use sstream but it is useful to understand category theory. Category theory vocabulary ideas are succinct and re-usable across many programming concerns. In other words, a little category theory goes a long way to helping improve the programs you write.

PreviousFoundationsNextCategory Theory Express Design Patterns

Last updated 5 years ago

Was this helpful?