On Feb 11, 2012, at 10:26 AM, Matthias Felleisen wrote:

> 
> Use the design recipe, Luke. 

I'm running into trouble in step 4, the template step:

;; educate : student-that-can't-solve-assignment -> 
student-that-can-solve-assignment
(define (educate student)
  ... what goes here ...?
)

(check-expect (educate <redacted-name>) <redacted-name>)



Slightly more seriously, if you're suggesting using the design recipe to help 
avoid non-termination, it doesn't help the students much when they're 
implementing an interpreter for a turing-complete language in a PL class.

John


> 
> On Feb 11, 2012, at 1:09 PM, John Clements wrote:
> 
>> My students have terrible trouble with handin tests that don't terminate / 
>> exhaust memory. Specifically, the handin fails, and no test results are 
>> saved with the file in a SUCCESS directory.
>> 
>> I think the underlying problem is that I'm using (add-header-line! ...) to 
>> record information about test case results, and these are lost if the 
>> sandbox self-terminates. 
>> 
>> I can see a couple of ways of fixing this: one is to send my test case info 
>> "out of channel," so that it's not lost when the sandbox explodes. The other 
>> one is to enrich my standard 'test' form with a timeout thread that sleeps 
>> for half a second then kills the test to allow the assignment to be saved. 
>> 
>> I favor the second of these, because it looks like less work and because 
>> users could conceivably get useful information back on a looping program.
>> 
>> I'm guessing that others have solved this problem: is there an obvious 
>> solution?
>> 
>> John
>> 
>> ____________________
>> Racket Users list:
>> http://lists.racket-lang.org/users
> 
> 
> ____________________
>  Racket Users list:
>  http://lists.racket-lang.org/users

Attachment: smime.p7s
Description: S/MIME cryptographic signature

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to