{-# LANGUAGE NoImplicitPrelude, UnicodeSyntax #-}
module Prelude.Unicode
( (¬), (∧), (∨)
, (≡), (≢), (≠)
, (≤), (≥), (≮), (≯)
, (−)
, π
, (÷), (×), (⋅)
, (∘)
, (⧺)
, (∈), (∉)
, (‼)
, (⊥)
, (∣), (∤)
, ℤ, ℚ
, 𝜀
) where
import Data.Bool ( Bool )
import Data.Eq ( (==) )
import Data.Ratio ( Ratio )
import Prelude ( Num, Floating, Fractional, Integer, Integral
, (-), (/), (*), pi, undefined, mod
)
import Data.Bool.Unicode ( (∧), (∨), (¬) )
import Data.Eq.Unicode ( (≡), (≢), (≠) )
import Data.Function.Unicode ( (∘) )
import Data.List.Unicode ( (⧺), (∈), (∉), (‼), 𝜀 )
import Data.Ord.Unicode ( (≤), (≥), (≮), (≯) )
infixl 7 ÷
infixl 7 ×, ⋅
infixl 6 −
infix 4 ∣
infix 4 ∤
π ∷ Floating α ⇒ α
π :: forall α. Floating α => α
π = α
forall α. Floating α => α
pi
{-# INLINE π #-}
(÷) ∷ Fractional α ⇒ α → α → α
÷ :: forall α. Fractional α => α -> α -> α
(÷) = α -> α -> α
forall α. Fractional α => α -> α -> α
(/)
{-# INLINE (÷) #-}
(×) ∷ Num α ⇒ α → α → α
× :: forall α. Num α => α -> α -> α
(×) = α -> α -> α
forall α. Num α => α -> α -> α
(*)
{-# INLINE (×) #-}
(⋅) ∷ Num α ⇒ α → α → α
⋅ :: forall α. Num α => α -> α -> α
(⋅) = α -> α -> α
forall α. Num α => α -> α -> α
(*)
{-# INLINE (⋅) #-}
(⊥) ∷ α
⊥ :: forall α. α
(⊥) = α
forall a. HasCallStack => a
undefined
{-# INLINE (⊥) #-}
(∣) ∷ Integral a ⇒ a → a → Bool
a
a ∣ :: forall a. Integral a => a -> a -> Bool
∣ a
b = a -> a -> a
forall a. Integral a => a -> a -> a
mod a
a a
b a -> a -> Bool
forall a. Eq a => a -> a -> Bool
== a
0
{-# INLINE (∣) #-}
(∤) ∷ Integral a ⇒ a → a → Bool
a
a ∤ :: forall a. Integral a => a -> a -> Bool
∤ a
b = Bool -> Bool
(¬)(a
a a -> a -> Bool
forall a. Integral a => a -> a -> Bool
∣ a
b)
{-# INLINE (∤) #-}
(−) ∷ Num a ⇒ a → a → a
− :: forall α. Num α => α -> α -> α
(−) = (-)
{-# INLINE (−) #-}
type ℤ = Integer
type ℚ = Ratio ℤ