asarkar/fp-scala
Functional Programming in Scala
My solutions to the exercises from the book Functional Programming in Scala, 2nd edition.
Official GitHub repo: https://github.com/fpinscala/fpinscala
Syllabus
Part 1: Introduction to functional programming
-
What is functional programming?
-
Getting started with functional programming in Scala
-
Functional data structures
-
Handling errors without exception
-
Strictness and laziness
-
Purely functional state
Part 3: Common structures in functional design
-
Monoids
-
Monads
-
Applicative and traversable functors
Executing a main method
./millw <module>.runMain --mainClass <fully-qualified main class>
Executing tests
./.github/run.sh <chapter>
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": falsetosettings.jsonand 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.