Functional Programming in TypeScript

Notes and exercises from "Functional Programming in Scala", translated to TypeScript

Updates

19 June 2019

  • Split into two modules, one under site/ and one under code/
    • This was necessary due to an upgrade of VuePress, which caused all sorts of wonkiness when installed alongside Jest. I think it has something to do with Webpack...?

2 April 2019

  • Inline exercise answers for 5.12 and 5.13
  • Begin Chapter 6

5 March 2019

  • Notes through the end of Chapter 5

4 March 2019

  • No updates in a while, oops!
  • Inline answers through exercise 5.11

11 January 2019

  • Notes through exercise 5.11

9 January 2019

  • Notes through exercise 5.7

3 January 2019

  • Notes through exercise 5.3
  • Happy New Year! 🎉🎊🥳

27 December 2018

  • Add remaining inline answers for Either exercises

23 December 2018

  • Start Chapter 5 notes
  • Initial Stream implementation
  • All Either functions implemented in source code (no inline answers yet)

4 December 2018

  • Refactor Either to overcome some type-checking challenges
  • Exercises 4.7 and 4.8
  • All remaining notes for Chapter 4

1 December 2018

  • Refactor to use arrow functions wherever applicable
  • Inline answers to all Option exercises

13 November 2018

  • Add tslint. Yay.
  • Fix all lint errors in code and excerpts

30 October 2018

  • Add Try in option module
  • Introduce Either
  • Exercise 4.6. Basic functions on Either

27 October 2018

  • Refactor Option code, expand explanations
  • Add notes up to 4.5, which is all of Option

23 October 2018

  • Fix definition of None
  • Add exercises 4.2 and 4.3
  • Add notes through lift

22 October 2018

  • Add exercises 4.1

21 October 2018

  • Figure out good representation of Option
  • Add (overly long) notes explaining Option's implementation

18 October 2018

  • Start pushing some stuff about Option from Ch. 4

17 October

  • Add inline answers for all remaining Ch. 3 exercises

12 October 2018

  • Add inline answers for all remaining Tree exercises in Ch. 3
  • Use and explain unknown in some Tree functions

11 October 2018

  • Add inline answers for 3.2 to 3.12

9 October 2018

  • Add inline answers to 3.25 and 3.26

8 October 2018

  • Add inline answers to exercises 3.22, 3.23, and 3.24

3 October 2018

  • Add missing exercises 3.19, 3.20, and 3.21
  • Add TypeScript-appropriate exercise 3.1
  • Finish notes and exercises for Chapter 3! (answers to follow soon)

2 October 2018

  • Add inline exercise answers to Chapter 2
  • Add notes up to exercise 3.28 (Trees, yay!)

Ready to get to work?

Might as well just jump in: Chapter 1.

You should read Functional Programming in Scala