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 are predicates tag/[1,2] that switch 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!