1. Урок 1. 00:10:04
    Introduction
  2. Урок 2. 00:10:00
    Why Functional Programming
  3. Урок 3. 00:09:43
    Functional Programming Journey
  4. Урок 4. 00:08:50
    Code is Provable
  5. Урок 5. 00:03:51
    Course Overview
  6. Урок 6. 00:10:53
    Functions vs Procedures
  7. Урок 7. 00:06:45
    Function Naming Semantics
  8. Урок 8. 00:11:05
    Side Effects
  9. Урок 9. 00:11:41
    Pure Functions & Constants
  10. Урок 10. 00:03:20
    Reducing Surface Area
  11. Урок 11. 00:03:43
    Same Input, Same Output
  12. Урок 12. 00:01:35
    Level of Confidence
  13. Урок 13. 00:04:38
    Extracting Impurity
  14. Урок 14. 00:11:08
    Containing Impurity
  15. Урок 15. 00:03:41
    Impurity Exercise: Wrappers & Adapters
  16. Урок 16. 00:02:25
    Impurity Solution: Wrappers
  17. Урок 17. 00:03:23
    Impurity Solution: Adapters
  18. Урок 18. 00:05:17
    Function Arguments
  19. Урок 19. 00:05:46
    Arguments Shape Adapters
  20. Урок 20. 00:05:46
    Flip & Reverse Adapter
  21. Урок 21. 00:03:01
    Spread Adapter
  22. Урок 22. 00:08:56
    Equational Reasoning
  23. Урок 23. 00:07:12
    Point Free Refactor
  24. Урок 24. 00:01:06
    Point Free Exercise
  25. Урок 25. 00:07:19
    Point Free Solution
  26. Урок 26. 00:09:53
    Advanced Point Free
  27. Урок 27. 00:05:31
    Closure
  28. Урок 28. 00:01:48
    Closure Exercise
  29. Урок 29. 00:08:32
    Closure Solution
  30. Урок 30. 00:06:09
    Lazy vs Eager Execution
  31. Урок 31. 00:11:24
    Memoization
  32. Урок 32. 00:05:11
    Referential Transparency
  33. Урок 33. 00:08:52
    Generalized to Specialized
  34. Урок 34. 00:09:18
    Partial Application & Currying
  35. Урок 35. 00:06:02
    Partial Application & Currying Comparison
  36. Урок 36. 00:03:46
    Changing Function Shape with Curry
  37. Урок 37. 00:11:41
    Composition Illustration
  38. Урок 38. 00:07:07
    Declarative Data Flow
  39. Урок 39. 00:06:59
    Piping vs Composition
  40. Урок 40. 00:01:20
    Piping & Composition Exercise
  41. Урок 41. 00:02:41
    Piping & Composition Solution
  42. Урок 42. 00:02:47
    Associativity
  43. Урок 43. 00:03:53
    Composition with Currying
  44. Урок 44. 00:07:39
    Immutability
  45. Урок 45. 00:09:34
    Rethinking const Immutability
  46. Урок 46. 00:05:29
    Value Immutability
  47. Урок 47. 00:04:51
    Object.freeze
  48. Урок 48. 00:04:48
    Don't Mutate, Copy
  49. Урок 49. 00:07:49
    Immutable Data Structures
  50. Урок 50. 00:04:56
    Immutable.js Overview
  51. Урок 51. 00:02:18
    Immutability Exercise
  52. Урок 52. 00:07:40
    Immutability Solution
  53. Урок 53. 00:12:05
    Recursion
  54. Урок 54. 00:03:00
    Base Condition Location
  55. Урок 55. 00:01:45
    Recursion Exercise
  56. Урок 56. 00:04:54
    Recursion Solution
  57. Урок 57. 00:05:10
    Stack Frames & Memory Limits
  58. Урок 58. 00:08:59
    Optimization: Tail Calls
  59. Урок 59. 00:07:53
    Proper Tail Calls
  60. Урок 60. 00:06:44
    Refactoring to PTC Form
  61. Урок 61. 00:05:59
    Continuation-Passing Style
  62. Урок 62. 00:05:38
    Trampolines
  63. Урок 63. 00:04:42
    CPS & Trampolines Q&A
  64. Урок 64. 00:07:28
    Map: Transformation
  65. Урок 65. 00:05:48
    Filter: Inclusion
  66. Урок 66. 00:10:43
    Reduce: Combination
  67. Урок 67. 00:03:49
    Composition with Reduce
  68. Урок 68. 00:03:27
    List Operations Exercise
  69. Урок 69. 00:03:18
    List Operations Solution: add & constant
  70. Урок 70. 00:15:51
    List Operations Solution: addn
  71. Урок 71. 00:10:20
    List Operations Solution: Modify Collection
  72. Урок 72. 00:09:02
    Fusion
  73. Урок 73. 00:11:04
    Transduction
  74. Урок 74. 00:02:59
    Transduction Q&A
  75. Урок 75. 00:11:13
    Deriving Transduction: Extracting Reduce
  76. Урок 76. 00:08:35
    Deriving Transduction: Combiner & Currying
  77. Урок 77. 00:06:31
    Deriving Transduction: Single Reduce
  78. Урок 78. 00:08:51
    Derivation Summary and Q&A
  79. Урок 79. 00:01:48
    Data Structure Operations
  80. Урок 80. 00:01:40
    Object Filter & Reduce Exercise
  81. Урок 81. 00:04:21
    Object Filter & Reduce Solution
  82. Урок 82. 00:01:40
    Advanced Point Free Exercise
  83. Урок 83. 00:09:49
    Advanced Point Free Solution
  84. Урок 84. 00:12:09
    Monad Data Structures
  85. Урок 85. 00:07:41
    Just Monad
  86. Урок 86. 00:11:31
    Maybe Monad
  87. Урок 87. 00:03:00
    Monads Q&A
  88. Урок 88. 00:05:07
    Map Lazy & Lazy Array
  89. Урок 89. 00:02:15
    Observables
  90. Урок 90. 00:03:57
    Reactive Programming with Rx.js
  91. Урок 91. 00:02:42
    Async with Rx.js Exercise
  92. Урок 92. 00:03:50
    Async with Rx.js Solution
  93. Урок 93. 00:05:02
    Lodash/FP
  94. Урок 94. 00:02:08
    Ramda
  95. Урок 95. 00:05:26
    FPO
  96. Урок 96. 00:03:06
    Wrapping Up