[Ur] Unification Problems

David Snider david at davidsnider.net
Sun Oct 21 17:55:03 EDT 2012


Ah, OK...

Here is the whole source:
http://pastebin.com/EZMqZVkd

Is it that it can't decide whether to take it from the User table record 
or the cookie record?

On 10/21/2012 05:42 PM, Adam Chlipala wrote:
> 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
>
>
> _______________________________________________
> Ur mailing list
> Ur at impredicative.com
> http://www.impredicative.com/cgi-bin/mailman/listinfo/ur




More information about the Ur mailing list