Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/asarkar/fp-scala
Functional Programming in Scala
https://github.com/asarkar/fp-scala
functional-programming functional-programming-in-scala red-book scala
Last synced: 3 days ago
JSON representation
Functional Programming in Scala
- Host: GitHub
- URL: https://github.com/asarkar/fp-scala
- Owner: asarkar
- Created: 2016-01-22T04:09:19.000Z (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2024-01-03T14:33:04.000Z (11 months ago)
- Last Synced: 2024-05-01T12:20:58.181Z (7 months ago)
- Topics: functional-programming, functional-programming-in-scala, red-book, scala
- Language: Scala
- Homepage:
- Size: 43.9 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
My solutions to the exercises from the book [Functional Programming in Scala](https://www.manning.com/books/functional-programming-in-scala-second-edition), 2nd edition.
[![](https://github.com/asarkar/fp-scala/workflows/CI/badge.svg)](https://github.com/asarkar/fp-scala/actions)
Official GitHub repo: https://github.com/fpinscala/fpinscala
## Syllabus
### Part 1: Introduction to functional programming
1. What is functional programming?
2. Getting started with functional programming in Scala
3. Functional data structures
4. Handling errors without exception
5. Strictness and laziness
6. Purely functional state
### Part 3: Common structures in functional design
10. Monoids
11. Monads
12. Applicative and traversable functors
## Executing a main method
```
./millw .runMain --mainClass
```## Executing tests
```
./.github/run.sh
```## VSCode
* Open command palette: `Ctrl + Shift + P`
* Open another window: `File > New Window > Open Recent/Open Folder`
* To disable preview mode (don't replace current tab):
* From command palette: `Preferences: Open User Settings`* Add `"workbench.editor.enablePreview": false` to `settings.json` and save it.
* To see the methods in a file: `Cmd + Shift + P`
* To search a file by name: `Cmd + P`
## Mill
Install a BSP connection file:
```
mill mill.bsp.BSP/install
```Then open VSCode command palette, and select `Metals: Switch build server`.