Dear All,
We are happy to announce a new edition
of the Dogelog player:
- library(markup):
To facilitate the generation of HTML texts inside
the browser format/2 now accepts ~a for HTML attributes
and ~c for URL components. Further there is are predicate
tag/[1,2] that switches the stream to raw mode
instead XML encoding, so that tags can be written.
- New setup_once_cleanup/3:
Since a stop button and Ctrl-C key started to work,
we needed to think of a robust setup and cleanup method.
We noticed a Logtalk idiom in the wild which we extended
by signal shielding and exception chaining. Also there
is a novel catch/3 which matches the head of a chain.
- New time_out/2:
There is also new predicate time_out/2 to abort a goal
after some delay. Implemented via the event loop of
JavaScript respectively Python. The predicate is not yet
perfect, for example it cannot prematurely abort a sleep/1,
but it can already abort where the Prolog interpreter
yields or auto-yields.
Have Fun!
Jan Burse, 27.02.2023
http://www.xlog.ch/