Два разных поведения одного и того же кода Prolog с и без отладки

Я использую латентную стабильную версию 6.6.6 64 бит SWI-Prolog для Windows. Код следующий:

start :-
    new(Frame, frame('Test')),
    send(Frame, open),
    send(Frame, append, new(Pic, picture)),
    send(Pic, height, 600),
    send(Pic, display, new(_Ref1, text('This will disappear in 3 seconds', center, font(screen, roman, 16)))),
    sleep(3),
    send(Pic, clear),
    sleep(3),
    send(Pic, display, new(_Ref2, text('Good bye!', center, font(screen, roman, 16)))),
    sleep(2),
    send(Pic, clear).

Код делает скучный персонал: он создает окно и холст для изображения с высотой 600 пикселей. Он отображает текст, который должен исчезнуть через 3 секунды, через 2 секунды появляется новый текст, который должен исчезнуть через 2 секунды.

Если я запускаю его без отладки, первый текст исчезает через 8 секунд, и все.

Если я запускаю с графической отладкой, код делает то, что должен (см. Описание кода).

Поэтому я беспокоюсь о том, почему два разных результата одного и того же кода имеют два разных результата и почему без отладки код не работает должным образом?

0 ответов

Другие вопросы по тегам