~/talk

Haskell Beginners' Track

Talkat ZuriHac 2025 · 2025-06-07..06-09· [haskell]
slides:none on file

Condensed two two‑hour sessions teach how to define datatypes and functions, use pattern matching and inferred types, write recursive list/stack code and higher‑order functions, then sequence IO with randomRIO and sequence/replicateM. Examples build a card‑stack interpreter (colors, ranks, score, remove, reverse, match), show GHCI and HLS eval workflows and cabal setup, and sketch an interactive guessing game; materials and solutions live at the GitHub repo. Attendance hits 35–40 attendees and all examples evaluate in GHCI or the repo branch.

AI-written summary · about

  1. 0:00Welcome and introduction to the beginners' track
  2. 0:27Why Andreas chose to teach beginners this year
  3. 3:29Instructions on asking questions during the session
  4. 6:35Recommended Haskell books and learning resources
  5. 9:40Navigating the example project directory
  6. 13:03First Haskell definition and explanation
  7. 16:18Introduction to type signatures in Haskell
  8. 19:35Showing values using the Show type class
  9. 22:46How Show instances work for different types
  10. 25:58Controlling what gets shown in output
  11. 29:08Importance of parentheses in expressions
  12. 32:35Writing function type signatures properly
  13. 35:48Working with sum types and data constructors
  14. 39:26Reusing previous definitions and values
  15. 42:31Applying arguments and understanding evaluation
  16. 45:42Error messages and debugging in Haskell
  17. 48:49Improving code readability and documentation
  18. 51:56Alternative syntax for record definitions
  19. 55:39Consequences of changing a function signature
  20. 59:06Type exploration: inspecting types in GHCi
  21. 1:03:48Using complex numbers and more data types
  22. 1:07:38Start of first Q&A round
  23. 1:10:46Combining functions and types – question
  24. 1:14:59How many pattern matches needed?
  25. 1:18:11File and module structure in Haskell
  26. 1:21:59Type inference and readability trade-offs
  27. 1:25:07Use of primes in identifiers
  28. 1:28:14Comparing values – equality check
  29. 1:31:36Systematic test design in Haskell
  30. 1:35:19Equality operations and logic
  31. 1:39:15Type behavior testing with GHCi
  32. 1:42:31Custom helper function exercise
  33. 1:45:49Identifier naming conventions
  34. 1:49:05Advice for more advanced users
  35. 1:52:36Implementing a remove function
  36. 1:57:04Using case expressions in logic
  37. 2:00:14Stack logic and functional approach
  38. 2:03:21Manipulating card stack
  39. 2:06:57Exploring additional code file
  40. 2:10:45Recursive operations on stack
  41. 2:13:57Reversing list with recursion
  42. 2:17:00Interpreting runtime results
  43. 2:20:13Output types and Maybe handling
  44. 2:24:10Stack walkthrough completed
  45. 2:27:23Writing minimal card selector
  46. 2:30:27Result interpretation with Just
  47. 2:33:44Stack type and theoretical background
  48. 2:37:44Evaluation details in interpreter
  49. 2:42:09Handling full stack and reordering
  50. 2:45:27Appending operations explained
  51. 2:49:19Generalizing list processing
  52. 2:53:10Avoiding unnecessary comparisons
  53. 2:56:36Card presence check
  54. 3:01:26Final function examples
  55. 3:05:03Replace card with matching card
  56. 3:08:22Letting the compiler infer types
  57. 3:11:45Types and behavior deep dive
  58. 3:15:53Constraints in type declarations
  59. 3:19:05Explaining dual constraints
  60. 3:22:26Alternate coding strategies
  61. 3:26:13Monads and fundamental concepts
  62. 3:29:26Ambiguity in operator types
  63. 3:33:08Roll operation and next steps
  64. 3:36:47What does return mean in Haskell?
  65. 3:40:54Simplified explanation of monads
  66. 3:44:02Why functional purity matters
  67. 3:47:25Domain-specific types and IO
  68. 3:50:27Writing simple monadic actions
  69. 3:54:27Sequencing actions in Haskell
  70. 3:58:41Executing repeated actions
  71. 4:02:15Questions about sequencing and do blocks
  72. 4:06:25Final exercises and wrap-up
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.