Skip to content

Commit 851a800

Browse files
author
Javier de Silóniz Sandino
authored
Merge pull request #17 from scala-exercises/js-add-book-introduction
Add book introduction
2 parents ff91c1e + bf90e96 commit 851a800

8 files changed

+60
-3
lines changed

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44

55
------------------------
66

7-
This repository hosts a content library for the [Scala Exercises](https://www.scala-exercises.org/) platform, that includes interactive exercises related to the "Functional Programming in Scala" book by Manning.
7+
This repository hosts a content library for the [Scala Exercises](https://www.scala-exercises.org/) platform, that includes interactive exercises related to the "Functional Programming in Scala" book by written by Paul Chiusano and Rúnar Bjarnason and published by Manning.
8+
This content library is meant to be used in tandem with the book, although excerpts of the theory needed to complete them have been added to guide you. For more information about "Functional Programming in Scala" please visit its [official website](https://www.manning.com/books/functional-programming-in-scala).
89

910
##About Scala exercises
1011

src/main/scala/fpinscalalib/ErrorHandlingSection.scala

+9
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@ import scala.util.{Success, Try}
1111
*/
1212
object ErrorHandlingSection extends FlatSpec with Matchers with org.scalaexercises.definitions.Section {
1313
/**
14+
* = Functional programming in Scala =
15+
*
16+
* The following set of sections represent the exercises contained in the book "Functional Programming in Scala",
17+
* written by Paul Chiusano and Rúnar Bjarnason and published by Manning. This content library is meant to be used
18+
* in tandem with the book, although excerpts of the theory needed to complete them have been added to guide you.
19+
*
20+
* For more information about "Functional Programming in Scala" please visit its
21+
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
22+
*
1423
* = The Option data type =
1524
*
1625
* Exceptions break referential transparency and introduce context dependence. Moreover, they are not type-safe,

src/main/scala/fpinscalalib/FPinScalaLibrary.scala

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package fpinscalalib
22

33
import org.scalaexercises.definitions._
44

5-
/** Set of exercises based on Manning's "Functional Programming in Scala" (aka "The Red Book")
5+
/** Exercises based on Manning's "Functional Programming in Scala" by by Paul Chiusano and Rúnar Bjarnason.
6+
* For more information about the book please visit its
7+
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
68
*
79
* @param name fp_in_scala
810
*/

src/main/scala/fpinscalalib/FunctionalDataStructuresSection.scala

+9
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@ import Tree._
1111
object FunctionalDataStructuresSection extends FlatSpec with Matchers with org.scalaexercises.definitions.Section {
1212

1313
/**
14+
* = Functional programming in Scala =
15+
*
16+
* The following set of sections represent the exercises contained in the book "Functional Programming in Scala",
17+
* written by Paul Chiusano and Rúnar Bjarnason and published by Manning. This content library is meant to be used
18+
* in tandem with the book, although excerpts of the theory needed to complete them have been added to guide you.
19+
*
20+
* For more information about "Functional Programming in Scala" please visit its
21+
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
22+
*
1423
* = Singly linked lists =
1524
*
1625
* Let's examine what's probably the most ubiquitous functional data structure, the singly-linked list to start. The

src/main/scala/fpinscalalib/FunctionalParallelismSection.scala

+9
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@ import java.util.concurrent.Executors
1111
*/
1212
object FunctionalParallelismSection extends FlatSpec with Matchers with org.scalaexercises.definitions.Section {
1313
/**
14+
* = Functional programming in Scala =
15+
*
16+
* The following set of sections represent the exercises contained in the book "Functional Programming in Scala",
17+
* written by Paul Chiusano and Rúnar Bjarnason and published by Manning. This content library is meant to be used
18+
* in tandem with the book, although excerpts of the theory needed to complete them have been added to guide you.
19+
*
20+
* For more information about "Functional Programming in Scala" please visit its
21+
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
22+
*
1423
* = A data type for parallel computations =
1524
*
1625
* Our main objective in this section is to be able to "create parallel computations". What does that mean exactly?

src/main/scala/fpinscalalib/FunctionalStateSection.scala

+10-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,16 @@ import fpinscalalib.customlib.state._
1111
object FunctionalStateSection extends FlatSpec with Matchers with org.scalaexercises.definitions.Section {
1212

1313
/**
14-
* == Purely functional random number generation =
14+
* = Functional programming in Scala =
15+
*
16+
* The following set of sections represent the exercises contained in the book "Functional Programming in Scala",
17+
* written by Paul Chiusano and Rúnar Bjarnason and published by Manning. This content library is meant to be used
18+
* in tandem with the book, although excerpts of the theory needed to complete them have been added to guide you.
19+
*
20+
* For more information about "Functional Programming in Scala" please visit its
21+
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
22+
*
23+
* = Purely functional random number generation =
1524
*
1625
* If you need to generate random numbers in Scala, there’s a class in the standard library, `scala.util.Random`,
1726
* with a pretty typical imperative API that relies on side effects. Here’s an example of its use:

src/main/scala/fpinscalalib/GettingStartedWithFPSection.scala

+9
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@ import org.scalatest.{FlatSpec, Matchers}
77
object GettingStartedWithFPSection extends FlatSpec with Matchers with org.scalaexercises.definitions.Section {
88

99
/**
10+
* = Functional programming in Scala =
11+
*
12+
* The following set of sections represent the exercises contained in the book "Functional Programming in Scala",
13+
* written by Paul Chiusano and Rúnar Bjarnason and published by Manning. This content library is meant to be used
14+
* in tandem with the book, although excerpts of the theory needed to complete them have been added to guide you.
15+
*
16+
* For more information about "Functional Programming in Scala" please visit its
17+
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
18+
*
1019
* = Tail-recursive functions =
1120
*
1221
* We're going to introduce some of the basic techniques for writing functional programs. Let's start by writing

src/main/scala/fpinscalalib/StrictnessAndLazinessSection.scala

+9
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@ import fpinscalalib.customlib.laziness.ExampleHelper._
1111
object StrictnessAndLazinessSection extends FlatSpec with Matchers with org.scalaexercises.definitions.Section {
1212

1313
/**
14+
* = Functional programming in Scala =
15+
*
16+
* The following set of sections represent the exercises contained in the book "Functional Programming in Scala",
17+
* written by Paul Chiusano and Rúnar Bjarnason and published by Manning. This content library is meant to be used
18+
* in tandem with the book, although excerpts of the theory needed to complete them have been added to guide you.
19+
*
20+
* For more information about "Functional Programming in Scala" please visit its
21+
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
22+
*
1423
* = Strict and non-strict functions =
1524
*
1625
* Non-strictness is a property of a function. To say a function is `non-strict` just means that the function may

0 commit comments

Comments
 (0)