on master help sign in
Merge pull request #2825 from Garciat/patch-1

Minimal Enum instance for Char

commit2767cd4d1e93f0c4132ee494efb7b015456b7db5 authorEdwin Brady <edwin.brady@gmail.com> dateMon 14 Dec 2015, 10:06 (11 years ago) parent6f641e1e8983e7
1 file changed+6
libs/prelude/Prelude.idr+6
libs/prelude/Prelude.idr+6
@@ -207,6 +207,12 @@ instance Enum Int where
207207 go [] = []
208208 go (x :: xs) = n + (cast x * inc) :: go xs
209209
210+instance Enum Char where
211+ toNat c = toNat (ord c)
212+ fromNat n = chr (fromNat n)
213+
214+ pred c = fromNat (pred (toNat c))
215+
210216syntax "[" [start] ".." [end] "]"
211217 = enumFromTo start end
212218syntax "[" [start] "," [next] ".." [end] "]"