@@ -0,0 +1,58 @@
1+<!--
2+(c) 2022, Composewell Technologies.
3+SPDX-License-Identifer: BSD-3-Clause
4+-->
5+
6+# Before You Begin
7+
8+In this tutorial, we assume basic knowledge of Haskell syntax, constructs and
9+lazy evaluation. The [Haskell wikibook](https://en.wikibooks.org/wiki/Haskell)
10+may be a good place to start and get familiar with Haskell.
11+
12+If you wish to follow along and run the examples in this tutorial, you will
13+need to have [Streamly][] installed. Please see the [Setup and
14+Usage](/docs/User/Tutorials/setup-and-usage.md) guide for instructions
15+on how to install and use [Streamly][].
16+
17+If you wish to run benchmarks, please be sure to build your
18+application using the instructions in the [Build Guide](/docs/User/HowTo/Compiling.md).
19+
20+## Streamly Library Packages
21+
22+Streamly comprises two packages, the
23+[streamly-core](https://hackage.haskell.org/package/streamly-core)
24+package provides functionality that depends only on boot libraries, and
25+the [streamly](https://hackage.haskell.org/package/streamly) package
26+provides additional functionality like concurrency, time, lifted
27+exceptions, and networking.
28+
29+For high-level functionality built over streamly like streaming
30+system processes, shell programming, GNU coreutils, statistics,
31+and compression libraries please see the [streamly ecosystem
32+packages](https://streamly.composewell.com/ecosystem.html).
33+
34+## Released and Pre-release modules
35+
36+Some of the examples in this tutorial may use modules from the
37+`Internal` Streamly module hierarchy. These modules are not really
38+internal to the library. We classify `Streamly` modules into two
39+categories:
40+
41+* _Released modules and APIs_: These modules and APIs are
42+ stable. Significant changes to these modules and APIs will cause
43+ Streamly's version number to change according to the package versioning
44+ policy.
45+* _Pre-release modules and APIs_: These modules and APIs have not been
46+ formally released yet. They may change in the near future, and such
47+ changes will not necessarily be reflected in Streamly's package
48+ version number. As yet unreleased modules and APIs reside in the
49+ `Internal` namespace.
50+
51+Please use a minor release upper bound to adhere to the Haskell PVP when
52+using a pre-release (internal) module.
53+
54+<!--
55+Link References.
56+-->
57+
58+[Streamly]: https://streamly.composewell.com/