on dev help sign in
remove proxies from arguments
commitfe90800d82fe3a11cf4e8628de150906228013dc authorEitan Chatav <eitan.chatav@gmail.com> dateWed 11 Jul 2018, 16:25 (8 years ago) parent7ce2cb7
2 files changed+18−18
squeal-postgresql/src/Squeal/PostgreSQL/Expression.hs+13−15 squeal-postgresql/src/Squeal/PostgreSQL/Render.hs+5−3
squeal-postgresql/src/Squeal/PostgreSQL/Expression.hs+13−15
@@ -198,7 +198,7 @@ class KnownNat n => HasParameter
198198 :: TypeExpression schema ty
199199 -> Expression schema relations grouping params ty
200200 parameter ty = UnsafeExpression $ parenthesized $
201− "$" <> renderNat (Proxy @n) <+> "::"
201+ "$" <> renderNat @n <+> "::"
202202 <+> renderTypeExpression ty
203203instance {-# OVERLAPPING #-} HasParameter 1 schema (ty1:tys) ty1
204204instance {-# OVERLAPPABLE #-} (KnownNat n, HasParameter (n-1) schema params ty)
@@ -1157,19 +1157,17 @@ text :: TypeExpression schema (nullity 'PGtext)
11571157text = UnsafeTypeExpression "text"
11581158-- | fixed-length character string
11591159char, character
1160− :: (KnownNat n, 1 <= n)
1161− => proxy n
1162− -> TypeExpression schema (nullity ('PGchar n))
1163−char p = UnsafeTypeExpression $ "char(" <> renderNat p <> ")"
1164−character p = UnsafeTypeExpression $ "character(" <> renderNat p <> ")"
1160+ :: forall n schema nullity. (KnownNat n, 1 <= n)
1161+ => TypeExpression schema (nullity ('PGchar n))
1162+char = UnsafeTypeExpression $ "char(" <> renderNat @n <> ")"
1163+character = UnsafeTypeExpression $ "character(" <> renderNat @n <> ")"
11651164-- | variable-length character string
11661165varchar, characterVarying
1167− :: (KnownNat n, 1 <= n)
1168− => proxy n
1169− -> TypeExpression schema (nullity ('PGvarchar n))
1170−varchar p = UnsafeTypeExpression $ "varchar(" <> renderNat p <> ")"
1171−characterVarying p = UnsafeTypeExpression $
1172− "character varying(" <> renderNat p <> ")"
1166+ :: forall n schema nullity. (KnownNat n, 1 <= n)
1167+ => TypeExpression schema (nullity ('PGvarchar n))
1168+varchar = UnsafeTypeExpression $ "varchar(" <> renderNat @n <> ")"
1169+characterVarying = UnsafeTypeExpression $
1170+ "character varying(" <> renderNat @n <> ")"
11731171-- | binary data ("byte array")
11741172bytea :: TypeExpression schema (nullity 'PGbytea)
11751173bytea = UnsafeTypeExpression "bytea"
@@ -1217,7 +1215,7 @@ fixarray
12171215 => TypeExpression schema pg
12181216 -> TypeExpression schema (nullity ('PGfixarray n pg))
12191217fixarray ty = UnsafeTypeExpression $
1220− renderTypeExpression ty <> "[" <> renderNat (Proxy @n) <> "]"
1218+ renderTypeExpression ty <> "[" <> renderNat @n <> "]"
12211219
12221220-- | `pgtype` is a demoted version of a `PGType`
12231221class PGTyped schema (ty :: PGType) where pgtype :: TypeExpression schema (nullity ty)
@@ -1230,9 +1228,9 @@ instance PGTyped schema 'PGfloat4 where pgtype = float4
12301228instance PGTyped schema 'PGfloat8 where pgtype = float8
12311229instance PGTyped schema 'PGtext where pgtype = text
12321230instance (KnownNat n, 1 <= n)
1233− => PGTyped schema ('PGchar n) where pgtype = char (Proxy @n)
1231+ => PGTyped schema ('PGchar n) where pgtype = char @n
12341232instance (KnownNat n, 1 <= n)
1235− => PGTyped schema ('PGvarchar n) where pgtype = varchar (Proxy @n)
1233+ => PGTyped schema ('PGvarchar n) where pgtype = varchar @n
12361234instance PGTyped schema 'PGbytea where pgtype = bytea
12371235instance PGTyped schema 'PGtimestamp where pgtype = timestamp
12381236instance PGTyped schema 'PGtimestamptz where pgtype = timestampWithTimeZone
squeal-postgresql/src/Squeal/PostgreSQL/Render.hs+5−3
@@ -9,12 +9,14 @@ Rendering helper functions.
99-}
1010
1111{-# LANGUAGE
12− FlexibleContexts
12+ AllowAmbiguousTypes
13+ , FlexibleContexts
1314 , MagicHash
1415 , OverloadedStrings
1516 , PolyKinds
1617 , RankNTypes
1718 , ScopedTypeVariables
19+ , TypeApplications
1820#-}
1921
2022module Squeal.PostgreSQL.Render
@@ -80,8 +82,8 @@ renderCommaSeparatedMaybe render
8082 . hmap (K . render)
8183
8284-- | Render a promoted `Nat`.
83−renderNat :: KnownNat n => proxy n -> ByteString
84−renderNat (_ :: proxy n) = fromString (show (natVal' (proxy# :: Proxy# n)))
85+renderNat :: forall n. KnownNat n => ByteString
86+renderNat = fromString (show (natVal (Proxy @n)))
8587
8688-- | A class for rendering SQL
8789class RenderSQL sql where