Hi Derek,
you can find the desired functions and type classes using Hoogle [1].
Your attempt at an Ord instance is basically the right idea, but you
need to define the function "compare" only [2]. From your syntax it
looks like you are trying to define a function called "ord" that
additionally uses "compare" (in a way, it cannot be used). Removing
"ord" in all three cases fixes your problem, although the resulting
function "compare" is not total.
The documentation of the type classes usually contains a description of
what functions you need to define. The fact that the "Show" type class
instance can be obtained using a function called "show" is a coincidence.
Best regards,
Nikita
[1] https://www.haskell.org/hoogle/
[2] http://hackage.haskell.org/package/base-4.8.1.0/docs/Prelude.html#t:Ord