Ticket #8 (closed defect: fixed)

Opened 6 months ago

Last modified 6 months ago

*-> operator doesn't work !

Reported by: victor Owned by: pmoura
Priority: major Milestone: Logtalk distribution
Component: compiler Version:
Keywords: Cc:

Description

Hello,

I tried to use *-> (see http://gollem.science.uva.nl/SWI-Prolog/Manual/control.html#*-%3E/2 ) operator in a logtalk code, and it looks like it is not recognized by logtalk.

There is an exemple :

:- object(test).

	:- public([test1/1, test2/1]).

	test1(X) :-
		(a(X) -> write('ok') ; write('no')), nl.

	test2(X) :-
		(a(X) *-> write('ok') ; write('no')), nl.

	a(1).
	a(2).
	a(3).

:- end_object.

When run I get :

?- test::test1(X).
ok
X = 1.

?- test::test2(X).
ERROR: '$test_0_test2_1'/4: Undefined procedure: a/1

And when it is done from classical prolog in swi-prolog :

?- test1(X).
ok
X = 1.

?- test2(X).
ok
X = 1 ;
ok
X = 2 ;
ok
X = 3.

?- 

Attachments

Change History

Changed 6 months ago by anonymous

  • status changed from new to assigned
  • owner set to anonymous

Changed 6 months ago by pmoura

  • owner changed from anonymous to pmoura
  • status changed from assigned to new

Changed 6 months ago by pmoura

  • status changed from new to assigned

Changed 6 months ago by anonymous

  • status changed from assigned to closed
  • resolution set to fixed

Thanks for the bug report. There is a bug a in the SWI-Prolog config file in the declaration of the proprietary built-in meta-predicate "soft cut". The problem is already corrected in the current development version (r4199).

Add/Change #8 (*-> operator doesn't work !)

Author



Change Properties
<Author field>
Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.