Skip to content

Add book introduction #17

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Sep 15, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

------------------------

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.
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.
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).

##About Scala exercises

Expand Down
9 changes: 9 additions & 0 deletions src/main/scala/fpinscalalib/ErrorHandlingSection.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,15 @@ import scala.util.{Success, Try}
*/
object ErrorHandlingSection extends FlatSpec with Matchers with org.scalaexercises.definitions.Section {
/**
* = Functional programming in Scala =
*
* The following set of sections represent the exercises contained in the book "Functional Programming in Scala",
* written by Paul Chiusano and Rúnar Bjarnason and published by Manning. 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
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
*
* = The Option data type =
*
* Exceptions break referential transparency and introduce context dependence. Moreover, they are not type-safe,
Expand Down
4 changes: 3 additions & 1 deletion src/main/scala/fpinscalalib/FPinScalaLibrary.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ package fpinscalalib

import org.scalaexercises.definitions._

/** Set of exercises based on Manning's "Functional Programming in Scala" (aka "The Red Book")
/** Exercises based on Manning's "Functional Programming in Scala" by by Paul Chiusano and Rúnar Bjarnason.
* For more information about the book please visit its
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
*
* @param name fp_in_scala
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,15 @@ import Tree._
object FunctionalDataStructuresSection extends FlatSpec with Matchers with org.scalaexercises.definitions.Section {

/**
* = Functional programming in Scala =
*
* The following set of sections represent the exercises contained in the book "Functional Programming in Scala",
* written by Paul Chiusano and Rúnar Bjarnason and published by Manning. 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
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
*
* = Singly linked lists =
*
* Let's examine what's probably the most ubiquitous functional data structure, the singly-linked list to start. The
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,15 @@ import java.util.concurrent.Executors
*/
object FunctionalParallelismSection extends FlatSpec with Matchers with org.scalaexercises.definitions.Section {
/**
* = Functional programming in Scala =
*
* The following set of sections represent the exercises contained in the book "Functional Programming in Scala",
* written by Paul Chiusano and Rúnar Bjarnason and published by Manning. 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
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
*
* = A data type for parallel computations =
*
* Our main objective in this section is to be able to "create parallel computations". What does that mean exactly?
Expand Down
11 changes: 10 additions & 1 deletion src/main/scala/fpinscalalib/FunctionalStateSection.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,16 @@ import fpinscalalib.customlib.state._
object FunctionalStateSection extends FlatSpec with Matchers with org.scalaexercises.definitions.Section {

/**
* == Purely functional random number generation =
* = Functional programming in Scala =
*
* The following set of sections represent the exercises contained in the book "Functional Programming in Scala",
* written by Paul Chiusano and Rúnar Bjarnason and published by Manning. 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
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
*
* = Purely functional random number generation =
*
* If you need to generate random numbers in Scala, there’s a class in the standard library, `scala.util.Random`,
* with a pretty typical imperative API that relies on side effects. Here’s an example of its use:
Expand Down
9 changes: 9 additions & 0 deletions src/main/scala/fpinscalalib/GettingStartedWithFPSection.scala
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ import org.scalatest.{FlatSpec, Matchers}
object GettingStartedWithFPSection extends FlatSpec with Matchers with org.scalaexercises.definitions.Section {

/**
* = Functional programming in Scala =
*
* The following set of sections represent the exercises contained in the book "Functional Programming in Scala",
* written by Paul Chiusano and Rúnar Bjarnason and published by Manning. 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
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
*
* = Tail-recursive functions =
*
* We're going to introduce some of the basic techniques for writing functional programs. Let's start by writing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,15 @@ import fpinscalalib.customlib.laziness.ExampleHelper._
object StrictnessAndLazinessSection extends FlatSpec with Matchers with org.scalaexercises.definitions.Section {

/**
* = Functional programming in Scala =
*
* The following set of sections represent the exercises contained in the book "Functional Programming in Scala",
* written by Paul Chiusano and Rúnar Bjarnason and published by Manning. 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
* <a href="https://www.manning.com/books/functional-programming-in-scala">official website</a>.
*
* = Strict and non-strict functions =
*
* Non-strictness is a property of a function. To say a function is `non-strict` just means that the function may
Expand Down