Nada Amin

Results 57 comments of Nada Amin

Thanks, @akeep! The code from the appendix works! I was able to get my application working with minimal overhead. I had to define the following functions from the paper interface:...

For reference, here is the code: ```scheme (define (stop-timer) (set-timer 0)) (define (start-timer ticks new-handler) (timer-interrupt-handler new-handler) (set-timer ticks)) (define make-full-engine) (letrec ([new-engine (lambda (proc id) (lambda (ticks return expire)...

Hmm, setting up and cleaning up like s/engine.ss does seems a bit involved. I am also not sure about the semantics when the timer handler is overwritten by a nested...

I found that my bug was because the engine was returning while the timer was not at 0, and later when it becomes 0, it calls the obsolete handler of...

Hmm, unfortunately, the fix seems wrong. For: `((make-engine (lambda () ((make-engine (lambda () (factorial 10))) 100000 (lambda (ticks value) ticks) (lambda (engine) engine)))) 100000 list list)` We get `(0 99985)`...

As an update, the root cause of the engines misbehaving (firing at random times, once they're obsolete) seems to be related to exceptions occurring within engines. So cleaning up like...

OK, the code below seems to work with exception-throwing engines. (Updated to account for ticks even if there is an exception.) ```scheme ;; from Appendix A of https://legacy.cs.indiana.edu/~dyb/pubs/engines.pdf (define (stop-timer)...