[Ur] Unification Problems

Adam Chlipala adamc at csail.mit.edu
Sun Oct 21 17:42:10 EDT 2012


I need more context to give a complete answer.  The error message means 
that some type is not uniquely determined, and the message will show you 
where the undetermined type appears.

My first guess, though: Start the function declaration like this:
     fun checkPassword (r : {Email : string, Password : string}) =

Otherwise, there might be other fields in [r].

On 10/21/2012 05:39 PM, David Snider wrote:
> What's the correct way of doing this?
>
> Error: Some constructor unification variables are undetermined in 
> declaration
>
> cookie userSession : { Email : string, Password : string }
>
> ... snip ...
>
> fun checkPassword r =
> let
>    val cryptPass = {Email=r.Email, Password=Sha.hash r.Password}
> in
>    re' <- oneOrNoRows1(SELECT user.Id
>                         FROM user
>                        WHERE user.Email = {[cryptPass.Email]}
>                          AND user.Password = {[cryptPass.Password]});
>    case re' of
>       None => return False
>     | Some re => setCookie userSession { Value = cryptPass, 
> Expires=None,Secure=False };
>       return True
> end




More information about the Ur mailing list