fay-base 0.14.3.2 → 0.16.0.0
raw patch · 4 files changed
+39/−16 lines, 4 filesdep ~basedep ~fayPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, fay
API changes (from Hackage documentation)
- Prelude: data Rational
- Prelude: instance Data Rational
- Prelude: instance Show Rational
- Prelude: instance Typeable Rational
+ Data.Ratio: (%) :: Int -> Int -> Rational
+ Data.Ratio: Ratio :: Int -> Int -> Rational
+ Data.Ratio: data Rational
+ Data.Ratio: denominator :: Rational -> Int
+ Data.Ratio: instance Data Rational
+ Data.Ratio: instance Show Rational
+ Data.Ratio: instance Typeable Rational
+ Data.Ratio: numerator :: Rational -> Int
Files
- fay-base.cabal +8/−3
- src/Data/Ratio.hs +28/−0
- src/FFI.hs +2/−2
- src/Prelude.hs +1/−11
fay-base.cabal view
@@ -1,5 +1,5 @@ name: fay-base-version: 0.14.3.2+version: 0.16.0.0 synopsis: The base package for Fay. description: The base package for Fay. This package exports Prelude and FFI which you probably want to use with Fay.@@ -13,7 +13,11 @@ category: Development build-type: Simple cabal-version: >=1.8-data-files: src/Prelude.hs src/FFI.hs src/Data/Data.hs+data-files:+ src/Prelude.hs+ src/FFI.hs+ src/Data/Data.hs+ src/Data/Ratio.hs source-repository head type: git@@ -25,4 +29,5 @@ exposed-modules: Prelude ,FFI ,Data.Data- build-depends: base == 4.*, fay >= 0.14.3.0+ ,Data.Ratio+ build-depends: base == 4.*, fay >= 0.16
+ src/Data/Ratio.hs view
@@ -0,0 +1,28 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE PackageImports #-}+{-# OPTIONS -w #-}++module Data.Ratio where++import Data.Data+import Prelude+import qualified "base" Prelude as Base++--------------------------------------------------------------------------------+-- Rational++data Rational = Ratio Int Int+instance Base.Show Rational+instance Data Rational+instance Typeable Rational++(%) :: Int -> Int -> Rational+x % y = reduce (x * signum y) (abs y)+ where reduce :: Int -> Int -> Rational+ reduce x y | y == 0 = error "can't devide by zero"+ | otherwise = let d = gcd x y+ in Ratio (x `quot` d) (y `quot` d)++numerator, denominator :: Rational -> Int+numerator (Ratio n _) = n+denominator (Ratio _ d) = d
src/FFI.hs view
@@ -1,5 +1,5 @@ module FFI- (module Language.Fay.FFI)+ (module Fay.FFI) where -import Language.Fay.FFI+import Fay.FFI
src/Prelude.hs view
@@ -36,8 +36,6 @@ ,(*) ,(+) ,(-)- -- Ratio- ,Rational -- Ord ,Ord ,Ordering(..)@@ -206,7 +204,7 @@ where import Fay.Types (Fay)-import Language.Fay.FFI+import Fay.FFI import Data.Data import qualified "base" Prelude as Base import "base" Prelude (Bool(True,False)@@ -265,14 +263,6 @@ maybe :: t -> (t1 -> t) -> Maybe t1 -> t maybe m _ Nothing = m maybe _ f (Just x) = f x------------------------------------------------------------------------------------- Rational--data Rational = Ratio Int Int-instance Base.Show Rational-instance Data Rational-instance Typeable Rational -------------------------------------------------------------------------------- -- Monads