Skip to content

Restructure Haskell core track #798

@sshine

Description

@sshine

In an effort to restructure the Haskell core track I have followed @F3PiX'es Track Tool in its current incarnation. Step 1 took me through the current core track and yielded the initial proposal listed below.


  • Switch "Bob" and "Pangram".

    They're both about handling textual data.

    Pangram has fewer gotchas, is quicker done, has more alternative solutions, and doesn't lend itself as well to Data.Text. (See pangram 1.4.1.10: Add test case: determine pangram lazily #795.) Bob often involves more refactoring, has more learning objectives and has the extra "You could do it with Data.Text, too!" part.

    This way people don't try to solve Pangram with Data.Text which is possible but not ideal without mono-traversable, and they get an exercise more under their belt before being thrown into a lot of refactoring.

  • Switch "Nucleotide Count" and "Sum of Multiples".

    Eventually I think we should delete "Sum of Multiples" and "Grains" (see Replace Difference Of Squares and Grains on the core track #761).

    But since the Track Tool does not address removal yet, I want to make "Nucleotide Count" come immediately after "RNA Transcription", since they're both thematically related and Nucleotide Count uses Either while RNA Transcription uses Maybe for monadic error handling, so they practice the same thing in progressive difficulty.


The proposed track reordering looks like:

  1. hello-world
  2. leap
  3. space-age
  4. pangram
  5. bob
  6. collatz-conjecture
  7. rna-transcription
  8. nucleotide-count
  9. sum-of-multiples
  10. grains

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions