[Ur] row.T

Adam Chlipala adamc at impredicative.com
Thu Nov 24 11:11:59 EST 2011


Gergely Buday wrote:
> val queryX : tables ::: {{Type}} ->  exps ::: {Type} ->  ctx ::: {Unit}
> ->  inp ::: {Type}
>     192              ->  [tables ~ exps] =>
>     193              sql_query [] [] tables exps
>     194              ->  ($(exps ++ map (fn fields :: {Type} =>  $fields) tables)
>     195                  ->  xml ctx inp [])
>     196              ->  transaction (xml ctx inp [])
>
> Do I understand correctly that the compiler extracts tables, exps, ctx
> and inp from the sql query?
>    

The answer is probably "yes," though I'm not 100% sure I know what 
you're asking.  Just like with parametric polymorphism in ML or Haskell, 
the constructor parameters are inferred from the types of the value 
parameters.



More information about the Ur mailing list