# moocfi/haskell-mooc architecture

> Architecture diagram of the GitHub repository moocfi/haskell-mooc, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/moocfi/haskell-mooc
- Repository: https://github.com/moocfi/haskell-mooc

## Overview

This repository is an open Haskell functional-programming course: learners study the course material, work through numbered exercises, and run checks on their answers. The README documents both the online course and offline HTML materials, plus the exercise-checking command. Source excerpts were unavailable, so the graph avoids claiming internal implementation details or unverified links between course sections and specific exercise sets.

Main entry points: [`exercises`](https://github.com/moocfi/haskell-mooc/tree/master/exercises) (Set checks), [`part1.html`](https://github.com/moocfi/haskell-mooc/blob/master/part1.html) (Part 1 material), [`part2.html`](https://github.com/moocfi/haskell-mooc/blob/master/part2.html) (Part 2 material), [`exercises/Examples`](https://github.com/moocfi/haskell-mooc/tree/master/exercises/Examples) (Examples)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_learning["Course material"]
  node_course_site["Online course"]
  node_part1["Part 1 material<br/>[part1.html]"]
  node_part2["Part 2 material<br/>[part2.html]"]
end

subgraph group_practice["Exercises"]
  node_exercise_sets["Numbered exercises"]
  node_examples["Examples"]
end

subgraph group_checking["Answer checking"]
  node_set_tests["Set checks"]
  node_mooc_test["Test support<br/>[Test.hs]"]
end

node_learner(("Learner"))

node_learner -->|"studies online"| node_course_site
node_learner -->|"reads offline"| node_part1
node_learner -->|"reads offline"| node_part2
node_learner -->|"completes"| node_exercise_sets
node_learner -->|"consults"| node_examples
node_learner -->|"runs checks"| node_set_tests
node_set_tests -->|"checks answers"| node_exercise_sets
node_set_tests -->|"uses support"| node_mooc_test

click node_part1 "https://github.com/moocfi/haskell-mooc/blob/master/part1.html"
click node_part2 "https://github.com/moocfi/haskell-mooc/blob/master/part2.html"
click node_exercise_sets "https://github.com/moocfi/haskell-mooc/tree/master/exercises"
click node_examples "https://github.com/moocfi/haskell-mooc/tree/master/exercises/Examples"
click node_set_tests "https://github.com/moocfi/haskell-mooc/tree/master/exercises"
click node_mooc_test "https://github.com/moocfi/haskell-mooc/blob/master/exercises/Mooc/Test.hs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_course_site,node_part1,node_part2 toneBlue
class node_exercise_sets,node_examples toneAmber
class node_set_tests,node_mooc_test toneMint
class node_learner toneIndigo
```

## Components

### Course material

- **Online course**
- [Part 1 material](https://github.com/moocfi/haskell-mooc/blob/master/part1.html): `part1.html`
- [Part 2 material](https://github.com/moocfi/haskell-mooc/blob/master/part2.html): `part2.html`

### Exercises

- [Numbered exercises](https://github.com/moocfi/haskell-mooc/tree/master/exercises): `exercises`
- [Examples](https://github.com/moocfi/haskell-mooc/tree/master/exercises/Examples): `exercises/Examples`

### Answer checking

- [Set checks](https://github.com/moocfi/haskell-mooc/tree/master/exercises): `exercises`
- [Test support](https://github.com/moocfi/haskell-mooc/blob/master/exercises/Mooc/Test.hs): `exercises/Mooc/Test.hs`

### Other components

- **Learner**

## Connections

- Learner → Online course: studies online
- Learner → Part 1 material: reads offline
- Learner → Part 2 material: reads offline
- Learner → Numbered exercises: completes
- Learner → Examples: consults
- Learner → Set checks: runs checks
- Set checks → Numbered exercises: checks answers
- Set checks → Test support: uses support
