on dev help sign in
remove patterns
commit66ccd16afa74e64d2faa83e5e7ad5156c7e6adcc authorEitan Chatav <eitan@EEM109LMBP-1.local> dateWed 10 Jul 2019, 10:26 (7 years ago) parentb11f955
1 file changed+23−20
squeal-postgresql/src/Squeal/PostgreSQL/Expression/Range.hs+23−20
squeal-postgresql/src/Squeal/PostgreSQL/Expression/Range.hs+23−20
@@ -35,10 +35,10 @@ module Squeal.PostgreSQL.Expression.Range
3535 ( range
3636 , Range (..)
3737 , (<=..<=), (<..<), (<=..<), (<..<=)
38− , pattern HalfGT, pattern HalfGTE
39− , pattern HalfLT, pattern HalfLTE
38+ , halfGT, halfGTE, halfLT, halfLTE
39+ , point
4040 , Bound (..)
41− , pattern Closed, pattern Open
41+ , closed, open
4242 ) where
4343
4444import Data.Bool
@@ -54,7 +54,7 @@ import Squeal.PostgreSQL.Schema
5454-- $setup
5555-- >>> import Squeal.PostgreSQL
5656
57−-- | >>> printSQL $ range (HalfGTE now)
57+-- | >>> printSQL $ range (halfGTE now)
5858-- [now(), )
5959-- >>> printSQL $ range (0 <..<= (pi & astype numeric))
6060-- (0, (pi() :: numeric)]
@@ -70,9 +70,9 @@ data Bound x = Bound
7070 ( Eq, Ord, Show, Read, GHC.Generic
7171 , Functor, Foldable, Traversable )
7272 deriving anyclass (SOP.Generic, SOP.HasDatatypeInfo)
73−pattern Closed, Open :: Maybe x -> Bound x
74−pattern Closed x = Bound True x
75−pattern Open x = Bound False x
73+closed, open :: Maybe x -> Bound x
74+closed x = Bound True x
75+open x = Bound False x
7676
7777data Range x
7878 = Empty
@@ -88,19 +88,22 @@ instance RenderSQL x => RenderSQL (Range x) where
8888 Empty -> "empty"
8989 NonEmpty l u -> commaSeparated [renderLower l, renderUpper u]
9090 where
91− renderLower (Bound isClosed x) =
92− bool "(" "[" isClosed <> maybe "" renderSQL x
93− renderUpper (Bound isClosed x) =
94− maybe "" renderSQL x <> bool ")" "]" isClosed
91+ renderLower (Bound isclosed x) =
92+ bool "(" "[" isclosed <> maybe "" renderSQL x
93+ renderUpper (Bound isclosed x) =
94+ maybe "" renderSQL x <> bool ")" "]" isclosed
9595
9696(<=..<=), (<..<), (<=..<), (<..<=) :: x -> x -> Range x
97−x <=..<= y = NonEmpty (Closed (Just x)) (Closed (Just y))
98−x <..< y = NonEmpty (Open (Just x)) (Open (Just y))
99−x <=..< y = NonEmpty (Closed (Just x)) (Open (Just y))
100−x <..<= y = NonEmpty (Open (Just x)) (Closed (Just y))
97+x <=..<= y = NonEmpty (closed (Just x)) (closed (Just y))
98+x <..< y = NonEmpty (open (Just x)) (open (Just y))
99+x <=..< y = NonEmpty (closed (Just x)) (open (Just y))
100+x <..<= y = NonEmpty (open (Just x)) (closed (Just y))
101101
102−pattern HalfGT, HalfGTE, HalfLT, HalfLTE :: x -> Range x
103−pattern HalfGT x = NonEmpty (Open (Just x)) (Open Nothing)
104−pattern HalfGTE x = NonEmpty (Closed (Just x)) (Open Nothing)
105−pattern HalfLT x = NonEmpty (Open Nothing) (Open (Just x))
106−pattern HalfLTE x = NonEmpty (Open Nothing) (Closed (Just x))
102+halfGT, halfGTE, halfLT, halfLTE :: x -> Range x
103+halfGT x = NonEmpty (open (Just x)) (open Nothing)
104+halfGTE x = NonEmpty (closed (Just x)) (open Nothing)
105+halfLT x = NonEmpty (open Nothing) (open (Just x))
106+halfLTE x = NonEmpty (open Nothing) (closed (Just x))
107+
108+point :: x -> Range x
109+point x = x <=..<= x