chore: Tweak demo

This commit is contained in:
Tibo De Peuter 2025-05-19 10:03:12 +02:00
parent 24bfa426ab
commit 0a9937f16e
Signed by: tdpeuter
GPG key ID: 38297DE43F75FFE2

View file

@ -52,11 +52,11 @@ choice(_) :- write('DEMO: Invalid choice, please try again: '), read(Choice), ch
run_login_example :-
say('Loading login example...'),
consult('examples/basics/repeat.pl'),
consult('examples/basics/password.pl'),
consult_once('examples/basics/repeat', true, true),
consult_once('examples/basics/password', true, true),
say('Showing login/0'),
say('You might try logging in with tibo/noaccess and john/john1.'),
login, login_example_loop, !,
login, !, login_example_loop,
say('Login example finished.').
login_example_loop :-
@ -64,10 +64,10 @@ login_example_loop :-
run_summer_example :-
say('Loading summer example...'),
consult('examples/basics/summer.pl'),
consult_once('examples/basics/summer', clear, summer_main),
say('Showing my_sum/1'),
say('You might try summing 1 to 9.'),
my_sum, summer_example_loop, !,
my_sum, !, summer_example_loop,
say('Summer example finished.').
summer_example_loop :-
@ -75,7 +75,7 @@ summer_example_loop :-
run_mib_voorbeelden_example :-
say('Loading mib_voorbeelden example...'),
consult('examples/meta/mib_voorbeelden.pl'), clear,
consult_once('examples/meta/mib_voorbeelden', clear, true),
say('Showing example1/0'), example1, next((
say('Showing example2/0'), example2, next((
say('Showing example3/0'), example3)))),
@ -83,21 +83,21 @@ run_mib_voorbeelden_example :-
run_ceremony_example :-
say('Loading ceremony example...'),
consult('examples/meta/ceremony.pl'), clear,
consult_once('examples/meta/ceremony.pl', clear, true),
say('Showing ceremony_main/0'),
ceremony_main,
say('Ceremony example finished.').
run_continuations_example :-
say('Loading continuations example...'),
consult('examples/meta/continuations.pl'), clear,
consult_once('examples/meta/continuations.pl', clear, true),
say('Showing continuations_main/0'),
continuations_main,
say('Continuations example finished.').
run_my_list_example :-
say('Loading my_list example...'),
consult('examples/meta/my_list.pl'),
consult_once('examples/meta/my_list.pl', true, true),
say('Showing my_member/2'),
showcase(my_member(X, a(b(c))), 'X', X),
continue,
@ -107,8 +107,8 @@ run_my_list_example :-
run_interpreter :-
say('Loading interpreter...'),
consult('examples/meta/ground.pl'),
consult('examples/meta/interpreter.pl'),
consult_once('examples/meta/ground.pl', true, true),
consult_once('examples/meta/interpreter.pl', true, true),
say('Showing interpreter/0'),
say('Have fun!'),
interpreter,
@ -119,9 +119,9 @@ run_interpreter :-
% % % % % % % % % % %
yes_or_no(Question, IfYes, IfNo) :-
write(Question), write(' (y/n): '),
write(Question), write(' (y/n) '),
read(Answer),
( ( was_yes(Answer), !, call(IfYes)) ; ( was_no(Answer), !, call(IfNo))).
( ( was_yes(Answer), !, (call(IfYes) ; true)) ; ( was_no(Answer), !, (call(IfNo) ; true))).
was_yes(y).
was_yes('Y').
@ -162,3 +162,10 @@ clear(N) :-
nl,
M is N - 1,
clear(M).
consult_once(File, _, Subsequent) :-
consulted(File), !.
consult_once(File, First, _) :-
consult(File),
call(First),
assert(consulted(File)).