statebox/cql

Timeouts

wisnesky opened this issue · 6 comments

Implement a feature that allows the program to stop after a certain time has passed since the computation started.

Experiments indicate Control.DeepSeq is what is needed

This issue is to implement the 'timeout' option from the AQL language spec.

I added NFData instances and tried to used deepseq, but timeouts still don't work.

deepseq induces non-termination, see Employee example.

Someone on the internet claims you can fork two threads, one that does the computation and the other which sleeps for X seconds, and the first one to complete destroys the other. That is how the java version works.

The forking version works.