1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
{-# LANGUAGE NoImplicitPrelude, UnicodeSyntax #-}
{-|
Module : Prelude.Unicode
Copyright : 2009–2011 Roel van Dijk
License : BSD3 (see the file LICENSE)
Maintainer : Roel van Dijk <vandijk.roel@gmail.com>
-}
module Prelude.Unicode
( (¬), (∧), (∨)
, (≡), (≢), (≠)
, (≤), (≥), (≮), (≯)
, π
, (÷), (⋅)
, (∘)
, (⧺)
, (∈), (∉)
, (⊥)
, ℤ, ℚ
) where
-------------------------------------------------------------------------------
-- Imports
-------------------------------------------------------------------------------
-- from base:
import Data.Ratio ( Ratio )
import Prelude ( Num, Floating, Fractional, Integer
, (/), (*), pi, undefined
)
-- from base-unicode-symbols:
import Data.Bool.Unicode ( (∧), (∨), (¬) )
import Data.Eq.Unicode ( (≡), (≢), (≠) )
import Data.Function.Unicode ( (∘) )
import Data.List.Unicode ( (⧺), (∈), (∉) )
import Data.Ord.Unicode ( (≤), (≥), (≮), (≯) )
-------------------------------------------------------------------------------
-- Fixities
-------------------------------------------------------------------------------
infixl 7 ÷
infixl 7 ⋅
-------------------------------------------------------------------------------
-- Symbols
-------------------------------------------------------------------------------
{-|
π = 'pi'
U+03C0, GREEK SMALL LETTER PI
-}
π ∷ Floating α ⇒ α
π = pi
{-# INLINE π #-}
{-|
(÷) = ('/')
U+00F7, DIVISION SIGN
-}
(÷) ∷ Fractional α ⇒ α → α → α
(÷) = (/)
{-# INLINE (÷) #-}
{-|
(⋅) = ('*')
U+22C5, DOT OPERATOR
-}
(⋅) ∷ Num α ⇒ α → α → α
(⋅) = (*)
{-# INLINE (⋅) #-}
{-|
(⊥) = 'undefined'
U+22A5, UP TACK
-}
(⊥) ∷ α
(⊥) = undefined
{-# INLINE (⊥) #-}
-------------------------------------------------------------------------------
-- Types
-------------------------------------------------------------------------------
{-|
U+2124, DOUBLE-STRUCK CAPITAL Z
-}
type ℤ = Integer
{-|
U+2124, DOUBLE-STRUCK CAPITAL Q
-}
type ℚ = Ratio ℤ
|