What We’re Reading Now

Functional Programming for the Object-Oriented Programmer

Functional Programming for the Object-Oriented Programmer by Brian Manick.

1. Just Enough Clojure

Week 1 – Skimmers Guide

Week 2 – Skimmers Guide

Part I – Embedding an Object Oriented Language

Week 3 – Skimmers Guide

2. Objects as a Software-Mediated Consensual Hallucination

3. A Barely Believable Object

4. All the Class in a Constructor

5. Moving the Class Out of the Constructor

Week 4 – Skimmer’s Guide

 

Week 5 – Skimmer’s Guide

6. Inheritance (and Recursion)

Week 6 – Skimmer’s Guide

Week 7 – Skimmer’s Guide

Part II – The Elements of Functional Style

7. Basic Data Type that Flow through Functions

Week 8 – Skimmer’s Guide

Week 9 – Skimmer’s Guide

8. Embedding Functional Code in an OO Codebase

Week 10 – Skimmer’s Guide

9. Functions That Make Functions

Week 11 – Skimmer’s Guide

Week 12 – Skimmer’s Guide

10. Branching and Looping in Dataflow Style

Week 13 – Skimmer’s Guide

Week 14 – Skimmer’s Guide

Week 15 – Skimmer’s Guide

11. Pretending State is Mutable

Week 16

  • Begin on Page 147 at the start of chapter 11

    • Exercise 1 (Page 156)

    • Exercise 2

  • Finish at Page 156 at the end of section 11.5 Exercises

 

Week 17

  • Begin on Page 156 at the start of section 11.6 Editing Trees

    • Exercise 3 (Page 165)

    • Exercise 4

    • Exercise 5

    • Exercise 6 (Page 166)

    • Exercise 7 (Page 167)

    • Exercise 8 (Page 168)

 

Week 18

  • Begin on Page 168 at the start of section 11.9 Thinking About Zippers

    • Exercise 1 (Page 170)

    • Exercise 2 (Page 171)

    • Exercise 3 (Page 172)

    • Exercise 4 (Page 173)

    • Exercise 5

    • Exercise 6 (Page 174)

  • Finish at Page 176 at the end of chapter 11

12. Pushing Bookkeeper into the Runtime: Laziness and Immutability

Week 19

  • Begin on Page 177 at the start of chapter 12

    • Exercise 1 (Page 191)

    • Exercise 2

    • Exercise 3

  • Finish at Page 191 at the end of section 12.4 Exercises

 

Week 20

  • Begin on Page 191 at the start of section 12.5 Turning the External World Into a Lazy Sequence

    • Exercise 1 (Page 195)

    • Exercise 2 (Page 196)

    • Exercise 3

  • Finish at Page 204 at the end of chapter 12

13. Pattern Matching

Week 21

  • Begin on Page 205 at the start of chapter 13

    • Exercise 1 (Page 208)

    • Exercise 2

  • Finish at Page 208 at the end of chapter 13

14. Generic Functions

Week 22

  • Begin on Page 205 at the start of chapter 14

    • Exercise 1 (Page 208)

    • Exercise 2

  • Finish at Page 208 at the end of chapter 14

Part III – Coda

As we approach the end of Part II we will have a vote to decide whether or not to complete the optional parts as a community.

 

Part IV – A Mite More On Monads (Optional)

15. Implementing the Sequence Monad

 

16. Functions as Monadic Values

 

Part V – To Ruby… And Beyond (Optional)

17. The Class as an Object

 

18. The Class That Makes Classes

 

19, Multiple Inheritance, Ruby Style

 

20. Dynamic Scoping and Send-Super

 

21. Making an Object out of a Message in Transit

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: