1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="javascript" type="text/javascript" src="/usr/share/javascript/jquery/jquery.js"></script>
<script src="/js/pengines.js"></script>
<script type="text/x-prolog">
solve :-
pengine_create([
src_text('a(1). a(2). a(3).')
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, a(X), [
template(X)
]).
handle(success(_ID, A, false)) :-
pengine_output(A).
handle(success(ID, A, true)) :-
pengine_output(A),
sleep(1),
pengine_next(ID, []).
handle(failure(_ID)) :-
pengine_output(failure).
handle(error(_ID, Err)) :-
message_to_string(Err, ErrS),
pengine_output(ErrS).
</script>
<script type="text/javascript">
var pengine = new Pengine({
oncreate: handleCreate,
onoutput: handleOutput,
onerror: handleError
});
function handleCreate() {
pengine.ask('solve');
}
function handleOutput() {
$("#out").html("<h4>" + this.data + "</h4>");
}
function handleError() {
$("#err").html("<h4>Error: " + this.data + "</h4>");
}
</script>
</head>
<body>
<center style="margin-top:200px;">
<div id="out"></div>
<button onclick="pengine.abort()">Abort</button>
<div id="err"></div>
</center>
</body>
</html>
|