From 2a044ec09c50212eb2ee867330921509be19e3a3 Mon Sep 17 00:00:00 2001 From: "John A. De Goes" Date: Thu, 16 Oct 2014 13:59:28 -0600 Subject: [PATCH] added essential instances for Char; fully backward compatible --- README.md | 9 +++++++++ src/Data/Char/Char.purs | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/README.md b/README.md index 115713e..a77ff6b 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,15 @@ newtype Char +### Type Class Instances + + instance eqChar :: Eq Char + + instance ordChar :: Ord Char + + instance showChar :: Show Char + + ### Values charString :: Char -> String diff --git a/src/Data/Char/Char.purs b/src/Data/Char/Char.purs index b942c3a..e7eeea1 100644 --- a/src/Data/Char/Char.purs +++ b/src/Data/Char/Char.purs @@ -20,3 +20,13 @@ module Data.Char \ return String.fromCharCode(c);\ \}" :: Number -> Char + instance eqChar :: Eq Char where + (==) (Char a) (Char b) = a == b + + (/=) a b = not (a == b) + + instance ordChar :: Ord Char where + compare (Char a) (Char b) = a `compare` b + + instance showChar :: Show Char where + show (Char s) = "Char " ++ show s