[web-devel] Esqueleto type trickery question

Gaël Deest gael.deest at gmail.com
Sat Nov 24 12:35:51 CET 2012


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/web-devel/attachments/20121124/08e20504/attachment.htm>


More information about the web-devel mailing list