Well, there obviously is a problem in
your example code. The argument "tableName" does not live in the
world of types, so SqlExpr (Entity tableName) is
meaningless (this barrier is getting fuzzier with each version of
GHC, but well...).
Perhaps something can be done with existential types ?
Le 24/11/12 12:07, Erik de Castro Lopo a écrit :
Hi all,
Below my .sig is a little Persist/Esqueleto program that works correctly.
The getUserCount function does thr right thing and returns the number of
rows in the User table. However, what I'd like is a generic function
that returns the row count of any table, something vaguely like this:
queryRowCount :: tableType -> SqlPersist IO Int64
queryRowCount tableName = do
[Value x] <- select . from $ \(_ :: SqlExpr (Entity tableName)) ->
return countRows
return x
Is there any way to do this? Its probably possible in Agda, but can it
be made to work with GHC?
Cheers,
Erik