1. Урок 1. 00:00:24
    Module 12 - 01 - Introduction
  2. Урок 2. 00:00:42
    Module 12 - 02 - Agenda
  3. Урок 3. 00:01:59
    Module 12 - 03 - Recursion vs Loops
  4. Урок 4. 00:03:54
    Module 12 - 04 - Recursive Factorial
  5. Урок 5. 00:05:05
    Module 12 - 05 - Tail Recursive Factorial
  6. Урок 6. 00:00:29
    Module 12 - 06 - Puzzler - Fibonacci
  7. Урок 7. 00:01:47
    Module 12 - 07 - Mutual Calling Functions
  8. Урок 8. 00:02:18
    Module 12 - 08 - Recursive Even/Odd
  9. Урок 9. 00:02:22
    Module 12 - 09 - ADTs Recap
  10. Урок 10. 00:02:08
    Module 12 - 10 - First Trampoline
  11. Урок 11. 00:05:56
    Module 12 - 11 - Even/Odd Trampoline
  12. Урок 12. 00:02:51
    Module 12 - 12 - Using Trampolines
  13. Урок 13. 00:03:14
    Module 12 - 13 - Scala TailCalls
  14. Урок 14. 00:06:15
    Module 12 - 14 - Higher Order Functions Recap
  15. Урок 15. 00:00:20
    Module 13 - 01 - Introduction
  16. Урок 16. 00:02:23
    Module 13 - 02 - Agenda
  17. Урок 17. 00:04:03
    Module 13 - 03 - Options Recap
  18. Урок 18. 00:03:58
    Module 13 - 04 - Implementing Option
  19. Урок 19. 00:02:52
    Module 13 - 05 - A Functor
  20. Урок 20. 00:01:54
    Module 13 - 06 - A Monad
  21. Урок 21. 00:03:07
    Module 13 - 07 - Optional In Use
  22. Урок 22. 00:04:41
    Module 13 - 08 - Guards, withFilter
  23. Урок 23. 00:00:25
    Module 13 - 09 - Testing the Guard
  24. Урок 24. 00:06:45
    Module 13 - 10 - Functor Laws
  25. Урок 25. 00:06:59
    Module 13 - 11 - Monad Laws
  26. Урок 26. 00:02:22
    Module 13 - 12 - Applicative Functors
  27. Урок 27. 00:08:23
    Module 13 - 13 - Applicative Functors with Functions
  28. Урок 28. 00:02:39
    Module 13 - 14 - Cartesian Syntax and Alternatives
  29. Урок 29. 00:02:10
    Module 13 - 15 - Functor/Monad Patterns
  30. Урок 30. 00:06:04
    Module 13 - 16 - IO
  31. Урок 31. 00:02:21
    Module 13 - 17 - Composing IO
  32. Урок 32. 00:02:23
    Module 13 - 18 - Reader
  33. Урок 33. 00:02:52
    Module 13 - 19 - Writer
  34. Урок 34. 00:05:25
    Module 13 - 20 - State
  35. Урок 35. 00:02:55
    Module 13 - 21 - Free
  36. Урок 36. 00:04:00
    Module 13 - 22 - Free ADT
  37. Урок 37. 00:02:47
    Module 13 - 23 - Free Composition
  38. Урок 38. 00:01:23
    Module 13 - 24 - Free - A Full Program
  39. Урок 39. 00:03:58
    Module 13 - 25 - Free, the Interpreter
  40. Урок 40. 00:04:28
    Module 13 - 26 - Running Free
  41. Урок 41. 00:00:16
    Module 14 - 01 - Introduction
  42. Урок 42. 00:01:19
    Module 14 - 02 - Agenda
  43. Урок 43. 00:02:28
    Module 14 - 03 - First Rule of Macros
  44. Урок 44. 00:06:47
    Module 14 - 04 - Scala Compiler Phases
  45. Урок 45. 00:04:51
    Module 14 - 05 - Abstract Syntax Trees
  46. Урок 46. 00:03:06
    Module 14 - 06 - Macro Overview
  47. Урок 47. 00:01:55
    Module 14 - 07 - A Demo Macro
  48. Урок 48. 00:04:05
    Module 14 - 08 - Setting Up the Pieces
  49. Урок 49. 00:03:55
    Module 14 - 09 - A Macro That Does Nothing
  50. Урок 50. 00:01:14
    Module 14 - 10 - Macro With Generic Type Parameters
  51. Урок 51. 00:06:08
    Module 14 - 11 - Quasiquotes
  52. Урок 52. 00:03:10
    Module 14 - 12 - Doing More with Quasiquotes
  53. Урок 53. 00:02:24
    Module 14 - 13 - A Function Describing Macro
  54. Урок 54. 00:01:33
    Module 14 - 14 - Narrowing the Return Type
  55. Урок 55. 00:07:05
    Module 14 - 15 - Compiler Warnings and Errors
  56. Урок 56. 00:00:17
    Module 14 - 16 - Creating a Compiler Warning
  57. Урок 57. 00:03:30
    Module 14 - 17 - Macro Limitations
  58. Урок 58. 00:02:30
    Module 14 - 18 - Final Words
  59. Урок 59. 00:00:53
    Module 15 - 01 - Introduction
  60. Урок 60. 00:01:42
    Module 15 - 02 - Agenda
  61. Урок 61. 00:04:00
    Module 15 - 03 - External DSLs
  62. Урок 62. 00:02:41
    Module 15 - 04 - A Basic Grammar
  63. Урок 63. 00:02:29
    Module 15 - 05 - Simple Parser Combinators
  64. Урок 64. 00:00:28
    Module 15 - 06 - Token Parsers
  65. Урок 65. 00:01:44
    Module 15 - 07 - Types and Transformers
  66. Урок 66. 00:02:06
    Module 15 - 08 - Richer Types
  67. Урок 67. 00:01:44
    Module 15 - 09 - StatementLine ADT
  68. Урок 68. 00:03:21
    Module 15 - 10 - Next and Goto
  69. Урок 69. 00:02:47
    Module 15 - 11 - BNF Translation
  70. Урок 70. 00:01:10
    Module 15 - 12 - The Print Statement
  71. Урок 71. 00:02:27
    Module 15 - 13 - The For Statement
  72. Урок 72. 00:01:57
    Module 15 - 14 - Complete Line, and Parsing
  73. Урок 73. 00:03:43
    Module 15 - 15 - Trying It Out
  74. Урок 74. 00:02:48
    Module 15 - 16 - Packrat Parsers
  75. Урок 75. 00:00:36
    Module 16 - 01 - Introduction
  76. Урок 76. 00:02:17
    Module 16 - 02 - Agenda
  77. Урок 77. 00:03:57
    Module 16 - 03 - When and Where to Optimize
  78. Урок 78. 00:02:29
    Module 16 - 04 - First Things First
  79. Урок 79. 00:04:00
    Module 16 - 05 - Collections
  80. Урок 80. 00:03:28
    Module 16 - 06 - Vector vs List
  81. Урок 81. 00:03:31
    Module 16 - 07 - List Head vs Tail Operations
  82. Урок 82. 00:01:50
    Module 16 - 08 - Arrays
  83. Урок 83. 00:01:53
    Module 16 - 09 - Register Based Arithmetic
  84. Урок 84. 00:01:52
    Module 16 - 10 - Timing Runs
  85. Урок 85. 00:01:32
    Module 16 - 11 - Bitwise Operations
  86. Урок 86. 00:02:04
    Module 16 - 12 - While Loops and Tail Calls
  87. Урок 87. 00:01:47
    Module 16 - 13 - While vs TailRec
  88. Урок 88. 00:00:46
    Module 16 - 14 - Library Calls
  89. Урок 89. 00:02:33
    Module 16 - 15 - sqrt, Trancendentals
  90. Урок 90. 00:01:13
    Module 16 - 16 - Other Performance Gotchas
  91. Урок 91. 00:01:13
    Module 16 - 17 - Find the Hot Spots
  92. Урок 92. 00:01:32
    Module 16 - 18 - VisualVM
  93. Урок 93. 00:20:00
    Module 16 - 19 - Using VisualVM
  94. Урок 94. 00:09:49
    Module 16 - 20 - Profiling Demo
  95. Урок 95. 00:03:49
    Module 16 - 21 - Caching