[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

TYPOL: Woups!



Hi Typol-Experts,

I obtained the message (approximately):

Woups! No code generated. Please report.

It was caused by placing the "once" inside a "withsubject" as in

withsubject(MyPath: once(MY_RULE(...))).

Of course placing the "once" outside the "withsubject" should work as well.
The reason why I tried to desperately place the "once" everywhere I could
might point out another error.

With a Lisp function call I call the SET "calc_menu".
Only one rule matches to the syntax tree I am trying to evaluate.
It is:

once(withsubject(s(s(BexpLocation, int 1), int 2): EXPERS_TO_OFFERS(ValEnv |- Experiments => Offers, Conds, ValEnv'))) -- &
-- once(MERGE_CONDS(Offers |- conds[], Conds >- MayTrue, Conds')) &
-- MAKE_MENU(MayTrue |- events[event(event_name ActionDenotation, external(), Offers, Conds, 
--                                  follow_state(s_behaviour(behaviour(Bexp), location(s(BexpLocation, int 2)), ValEnv')), 
--                                  origins[origin(BexpLocation')])] -> Menu)
----------------------------------------------------------------------------------------------------------------------------------
|- s_behaviour(behaviour(prefix(action(identifier ActionDenotation, Experiments), Bexp)), location(BexpLocation), ValEnv) => Menu;
  provided diff(ActionDenotation, "_choice") &
           normalize(s(s(BexpLocation, int 1), int 1), BexpLocation');

Normally the comments does not exist, but the error happens without the comment lines too.
When I say "Fail" on this rule, the execution stops with fail, as expected.

When I say "Step" and then "Fail" on the first rule of "EXPERS_TO_OFFERS" the Debbuger answers correctly with "FAIL".
But then, after another "Step" the same rule of EXPERS_TO_OFFERS is given another "TRY"!!!

And this although 

  o there is a "once" around the call of EXPERS_TO_OFFERS.
  o and there are only two exclusive rules in EXPERS_TO_OFFERS (see below).

At least this is most obscure and I could not find any reason pointing out, that this is not a bug.

I wonder, if you may can reproduce this and what are comments on this.

Greetings,

	thomas


set EXPERS_TO_OFFERS is

judgement VALUE_ENV |- Experiment => OFFERS, CONDS, VALUE_ENV;

ValEnv |- empty_offer() => offers[], conds[], ValEnv;

CONV_OFFERS(ValEnv, 1 |- Expers => Offers, ValEnv') &
CONV_COND(ValEnv' |- Guard => Conds)
---------------------------------------------------------
ValEnv |- offer(Expers, Guard) => Offers, Conds, ValEnv';

set CONV_OFFERS is

...