@@ -83,111 +83,51 @@ numFieldsRemaining = RP $ do
8383 return $! (\(PQ.Col x) -> fromIntegral x) (nfields rowresult - column)
8484
8585instance (FromField a) => FromRow (Only a) where
86− fromRow = do
87− !a <- field
88− return (Only a)
86+ fromRow = Only <$> field
8987
9088instance (FromField a, FromField b) => FromRow (a,b) where
91− fromRow = do
92− !a <- field
93− !b <- field
94− return (a,b)
89+ fromRow = (,) <$> field <*> field
9590
9691instance (FromField a, FromField b, FromField c) => FromRow (a,b,c) where
97− fromRow = do
98− !a <- field
99− !b <- field
100− !c <- field
101− return (a,b,c)
92+ fromRow = (,,) <$> field <*> field <*> field
10293
10394instance (FromField a, FromField b, FromField c, FromField d) =>
10495 FromRow (a,b,c,d) where
105− fromRow = do
106− !a <- field
107− !b <- field
108− !c <- field
109− !d <- field
110− return (a,b,c,d)
96+ fromRow = (,,,) <$> field <*> field <*> field <*> field
11197
11298instance (FromField a, FromField b, FromField c, FromField d, FromField e) =>
11399 FromRow (a,b,c,d,e) where
114− fromRow = do
115− !a <- field
116− !b <- field
117− !c <- field
118− !d <- field
119− !e <- field
120− return (a,b,c,d,e)
100+ fromRow = (,,,,) <$> field <*> field <*> field <*> field <*> field
121101
122102instance (FromField a, FromField b, FromField c, FromField d, FromField e,
123103 FromField f) =>
124104 FromRow (a,b,c,d,e,f) where
125− fromRow = do
126− !a <- field
127− !b <- field
128− !c <- field
129− !d <- field
130− !e <- field
131− !f <- field
132− return (a,b,c,d,e,f)
105+ fromRow = (,,,,,) <$> field <*> field <*> field <*> field <*> field
106+ <*> field
133107
134108instance (FromField a, FromField b, FromField c, FromField d, FromField e,
135109 FromField f, FromField g) =>
136110 FromRow (a,b,c,d,e,f,g) where
137− fromRow = do
138− !a <- field
139− !b <- field
140− !c <- field
141− !d <- field
142− !e <- field
143− !f <- field
144− !g <- field
145− return (a,b,c,d,e,f,g)
111+ fromRow = (,,,,,,) <$> field <*> field <*> field <*> field <*> field
112+ <*> field <*> field
146113
147114instance (FromField a, FromField b, FromField c, FromField d, FromField e,
148115 FromField f, FromField g, FromField h) =>
149116 FromRow (a,b,c,d,e,f,g,h) where
150− fromRow = do
151− !a <- field
152− !b <- field
153− !c <- field
154− !d <- field
155− !e <- field
156− !f <- field
157− !g <- field
158− !h <- field
159− return (a,b,c,d,e,f,g,h)
117+ fromRow = (,,,,,,,) <$> field <*> field <*> field <*> field <*> field
118+ <*> field <*> field <*> field
160119
161120instance (FromField a, FromField b, FromField c, FromField d, FromField e,
162121 FromField f, FromField g, FromField h, FromField i) =>
163122 FromRow (a,b,c,d,e,f,g,h,i) where
164− fromRow = do
165− !a <- field
166− !b <- field
167− !c <- field
168− !d <- field
169− !e <- field
170− !f <- field
171− !g <- field
172− !h <- field
173− !i <- field
174− return (a,b,c,d,e,f,g,h,i)
123+ fromRow = (,,,,,,,,) <$> field <*> field <*> field <*> field <*> field
124+ <*> field <*> field <*> field <*> field
175125
176126instance (FromField a, FromField b, FromField c, FromField d, FromField e,
177127 FromField f, FromField g, FromField h, FromField i, FromField j) =>
178128 FromRow (a,b,c,d,e,f,g,h,i,j) where
179− fromRow = do
180− !a <- field
181− !b <- field
182− !c <- field
183− !d <- field
184− !e <- field
185− !f <- field
186− !g <- field
187− !h <- field
188− !i <- field
189− !j <- field
190− return (a,b,c,d,e,f,g,h,i,j)
129+ fromRow = (,,,,,,,,,) <$> field <*> field <*> field <*> field <*> field
130+ <*> field <*> field <*> field <*> field <*> field
191131
192132instance FromField a => FromRow [a] where
193133 fromRow = do