[mercury-users] Error: mode mismatch in disjunction.

Sergio Rafael Trindade Marques l16447 at alunos.uevora.pt
Fri Apr 16 02:24:56 AEST 2004


I get this error:

/In clause for `get_registers(in, in, out)':
comp.m:087:   mode mismatch in disjunction.
comp.m:087:   `Xs' :: ground, free, free./

in the following code:

:/- pred get_registers(list(read_term(term(_)))::in,int::in,list(int)::out).

get_registers([],_,[]).
get_registers([T|Ts],N,[X|Xs]):-
    (T=term(Vars,functor(atom(_F),LArgs,_)),
        list__length(LArgs,_Tam),
        get_registers(Ts,N,Xs)
    ;T=eof
    ;T=error(_,_)
    )./

This code is just a test (it's not very well implemented, but that isn't 
the question).
I just don't know how to resolve this error.

Thanks in advance.

Sergio

--------------------------------------------------------------------------
mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the users mailing list