[mercury-users] ....use of solution/2
Ralph Becket
rafe at cs.mu.OZ.AU
Mon Mar 22 15:56:50 AEDT 2004
Stefan Hinterstoisser, Monday, 22 March 2004:
> Hi Ralph!
>
> I just did it as you said, but somehow there is still a mistake in it and i
> dont know where....
>
> [...]
>
> main( !IO ) :-
> io.write_string("Start the Inferenz Program!\n", !IO ),
> Poss_list = ( solutions( some_sublist( [1,2,3,4] ) ) `with_type` list(int) ),
Your `with_type` assertion is wrong: it should be `list(list(int))', not
`list(int)'.
You can work this out from the signature of solutions/1: solutions/1
takes a predicate that computes a result of type T and returns the list
of all solutions to that predicate, which of course has type list(T).
In this case T = list(int) so solutions will return a list(list(int)).
The slightly confusing error message you got assumes you meant what you
said when you wrote ``with_type` list(int)'!
-- Ralph
--------------------------------------------------------------------------
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