Hello, I have been using ciao for some time now, and this time I'm really stuck :-) I would like to use a variable in a head (as I used to do in WinProlog, for example). The problem is I cannot get it to compile, so I guess that I'm forgetting some switch or doing something completely stupid...
Specifically, this is the rule I want to define:
traverseComponent(Environment, Process, Component) :- Process(Component, Environment).
Resulting in the following compile error:
ERROR: (lns 408-411) syntax error: , or ) expected in arguments traverseComponent ( Environment , Process , Component ) :- call ( Process ** here ** ( Component , Environment ) ) . }
-- Roel Wuyts Software Composition Group Roel.Wuyts(a)iam.unibe.ch University of Bern, Switzerland Board member of the European Smalltalk User Group: www.esug.org
Dear Roel,
I suppose you are using a Ciao version above the "current" version (1.6#3), aren't you? If this is the case, you have now to use the hiord package in all the files you want to use higher order, that is, include at the beginning of the code the declaration
:- use_package(hiord).
Daniel Cabeza