Skip to content
Snippets Groups Projects
Commit 29ad936c authored by Simon Peyton Jones's avatar Simon Peyton Jones
Browse files

[project @ 1999-05-28 19:21:34 by simonpj]

Make the default instance for Ord such that it suffices to define <=, as claimed
parent c7131320
No related merge requests found
......@@ -30,7 +30,7 @@ infixr 0 $
%*********************************************************
%* *
\subsection{Standard classes @Eq@, @Ord@, @Bounded@
\subsection{Standard classes @Eq@, @Ord@}
%* *
%*********************************************************
......@@ -50,7 +50,9 @@ class (Eq a) => Ord a where
-- Using compare can be more efficient for complex types.
compare x y
| x == y = EQ
| x < y = LT
| x <= y = LT -- NB: must be '<=' not '<' to validate the
-- above claim about the minimal things that can
-- be defined for an instance of Ord
| otherwise = GT
x <= y = case compare x y of { GT -> False; other -> True }
......@@ -241,7 +243,7 @@ some programs may get away without consulting PrelTup). Furthermore,
the renamer currently *always* asks for () to be in scope, so that
ccalls can use () as their default type; so when compiling PrelBase we
need (). (We could arrange suck in () only if -fglasgow-exts, but putting
it here seems more direct.
it here seems more direct.)
\begin{code}
data () = ()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment