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