-- | Provides the 'Internal.FromRational' and 'Internal.ToRational
-- typeclasses.
--
-- @since 0.1
module Numeric.Convert.Rational
  ( Internal.FromRational (..),
    Internal.ToRational (..),

    -- * Aliases
    ,
    Fromℚ,
    fromℚ,
    Toℚ,
    toℚ,
    AsRational,
    Asℚ,
  )
where

import GHC.Stack (HasCallStack)
import Numeric.Convert.Internal qualified as Internal

-- | Unicode alias for 'Rational', with U+211A.
--
-- @since 0.1
type  = Rational

-- | Unicode alias for 'Internal.FromRational', with U+211A.
--
-- @since 0.1
type Fromℚ = Internal.FromRational

-- | Unicode alias for 'Internal.fromQ', with U+211A.
--
-- @since 0.1
fromℚ :: (Fromℚ a, HasCallStack) =>  -> a
fromℚ :: forall a. (Fromℚ a, HasCallStack) => ℚ -> a
fromℚ = ℚ -> a
forall a. (Fromℚ a, HasCallStack) => ℚ -> a
Internal.fromQ

-- | Unicode alias for 'Internal.ToRational', with U+211A.
--
-- @since 0.1
type Toℚ = Internal.ToRational

-- | Unicode alias for 'Internal.toQ', with U+211A.
--
-- @since 0.1
toℚ :: (HasCallStack, Toℚ a) => a -> 
toℚ :: forall a. (HasCallStack, Toℚ a) => a -> ℚ
toℚ = a -> ℚ
forall a. (ToRational a, HasCallStack) => a -> ℚ
Internal.toQ

-- | Alias for 'Internal.FromRational' and 'Internal.ToRational'.
--
-- @since 0.1
type AsRational a = (Internal.FromRational a, Internal.ToRational a)

-- | Alias for 'Fromℚ' and 'Toℚ'.
--
-- @since 0.1
type Asℚ a = (Fromℚ a, Toℚ a)