Achieving Temporal Liveness and Safety in Prolog

View: New views
1 Messages — Rating Filter:   Alert me  

Achieving Temporal Liveness and Safety in Prolog

by jeffrose :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

... or How to Write Leakproof Programs Without Really Trying :-)

All:

Some of you may know that I am rather fond of what might be called an "unusual" use of setup_call_cleanup/3. I have found this control structure to be so powerful, so versatile, and its use-cases so compelling as to be worthy of an operator. I defined the operator '~>' to mean "eventually implies". It is analogous to the "leads-to" operator of Owicki and Lamport, 1982. There's a citation in the attachment.

Attached are five examples: Mutual Exclusion, Joining Several Threads, Socket Programming, Verifying Calculations, and finally, Dijkstra's Dining Philosophers.

It is very exciting. What do you think?

Regards,
Jeff R.



liveness.pl (11K) Download Attachment