snix/website/sandbox/learnpianochords/src
William Carroll 4ff1ea291c Drop support for ServantT transformer type for server
After burning a few hours wrestling with the type system, I decided to revert to
the simpler `Server API` type instead of the `ServantT` transformer type.

The problem is that I couldn't write a MonadError instance for `RIO Context`,
which is my `AppM` (i.e. application monad). Using `throwIO` in the server
handlers results in 500 errors, which is not what I wanted. I'm still pretty
fuzzy about what's happening; I now know that exception handling in Haskell is
pretty gnaryly. I may revisit this at a later time when my knowledge is more
extensive. For now: time to fry bigger fish.

An easier abstract is for me to pass `T.Context` into `server` as an argument,
which after all is what a Reader does.

TL;DR:
- Read server, client ports from .envrc
- Define a top-level Failure type (empty for now)
- Define a top-level Success type
- Define App as RIO Context (Either Failure Success)
2020-08-10 15:02:05 +01:00
..
server Drop support for ServantT transformer type for server 2020-08-10 15:02:05 +01:00
FlashCard.elm Support a FlashCard before showing the notes that comprise a chord 2020-04-19 15:32:20 +01:00
Icon.elm "Chord Drill Sergeant" -> "Learn Piano Chords" 2020-04-18 13:30:38 +01:00
Main.elm Support a FlashCard before showing the notes that comprise a chord 2020-04-19 15:32:20 +01:00
Misc.elm Tidy app 2020-04-18 14:58:16 +01:00
Overview.elm Create Tailwind module 2020-04-19 13:42:37 +01:00
Piano.elm Ensure the overlayButton is truly h-screen and w-screen 2020-04-19 13:14:18 +01:00
Practice.elm Display "Get ready..." message before practicing 2020-04-19 18:51:42 +01:00
Preferences.elm Restore support for whitelisted chord inversions 2020-04-19 18:36:22 +01:00
Responsive.elm Responsively size UI 2020-04-19 13:05:55 +01:00
State.elm Restore default view to Overview 2020-04-19 19:49:15 +01:00
Tailwind.elm Create Tailwind module 2020-04-19 13:42:37 +01:00
Tempo.elm Create Tailwind module 2020-04-19 13:42:37 +01:00
Theory.elm Correct all G_sharp pitch classes 2020-04-19 19:11:17 +01:00
UI.elm Support a FlashCard before showing the notes that comprise a chord 2020-04-19 15:32:20 +01:00