Re: variable heads of terms

Henk Vandecasteele <[email protected]>
Newsgroups gmane.comp.gnu.prolog.general
Message-ID <[email protected]>
Cliff,

you need the =.. operator:

| ?- X = reads, FACT =.. [X,tom, book] .

FACT = reads(tom,book)
X = reads

yes
| ?-


Regards,

Henk


Cliff Bender wrote:

>Hello
>
>I'd like to be able to do something like the following:
>
>X=reads, FACT=X(tom,book).
>
>is there anything that will allow me to do this? Unfortunately, the
>previous code gives the following error:
>
>| ?- X=reads, FACT=X(tom,book).
>uncaught exception: error(syntax_error('user_input:12 (char:16) . or
>operator expected after expression'),read_term/3)
>
>Thanks for any help you can provide!
>
>CB
>
>
>_______________________________________________
>Users-prolog mailing list
>[email protected]
>http://lists.gnu.org/mailman/listinfo/users-prolog
>  
>


-- 
Henk Vandecasteele
Katholieke Universiteit Leuven Dept. Computer Science
Celestijnenlaan 200A, B-3001 Leuven, Belgium
E-mail: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.