nshepperd comments on Prisoner's Dilemma (with visible source code) Tournament - Less Wrong

47 Post author: AlexMennen 07 June 2013 08:30AM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (232)

You are viewing a single comment's thread. Show more comments above.

Comment author: AlexMennen 05 June 2013 10:59:37PM 0 points [-]

Racket apparently has terrible namespace conventions. I had the same problem when I tried to use it to interpret a file, but when I type a program directly into the interpreter, eval works fine. I'll either figure out how to get eval to work when I run a file, or I'll just paste people's programs into the interpreter. Either way, assume eval will work properly.

Comment author: nshepperd 01 July 2013 05:34:08PM *  1 point [-]

In both #lang racket and #lang scheme, (eval form) by itself apparently runs form in a basically empty namespace. I've personally been using the following incantation for evaluating anything in the "standard" namespace:

(define (ueval x) (define ns (make-base-namespace)) (eval x ns))

Then (ueval source-code) evaluates source-code in a clean namespace with all the normal builtins, including eval.