+ (define (prog->string prog)
+ (conc ";redcode\n\n"
+ ";name\t" (prog-name prog) "\n"
+ (if (not (null? (prog-author prog)))
+ (conc ";author\t" (prog-author prog) "\n\n")
+ "\n")
+ "ORG\t" (prog-offset prog) "\t; Execution offset\n\n"
+ (apply conc (map (lambda (instr) (conc (instr '->string) "\n")) (prog-instrs prog)))))
+
+ (define (dump-prog prog)
+ (print (prog->string prog)))
+