Hi,<div><br></div><div>I&#39;ve written some code that uses eval:</div><div><br></div><div><div>� (define ops (list * / + -))</div><div>� (define digits &#39;(1 2 3 4 5))</div><div>� (for ([dl (combinations 4 digits)])</div>
<div>� � (define lst &#39;())</div><div>� � (for ([d (permute-all dl)])</div><div>� � � (for* ([o1 ops] [o2 ops] [o3 ops])</div><div>� � � � (unless (and (eq? o1 /) (zero? (eval (list o2 (second d) (list o3 (third d) (fourth d)))))) �; avoid divide by zero</div>
<div>� � � � � (define val (eval (list o1 (first d) (list o2 (second d) (list o3 (third d) (fourth d))))))</div><div>� � � � � (when (&gt;= val 1) (set! lst (cons val lst)))) ...</div></div><div><br></div><div>It runs very, very slowly. �Am I doing something wrong? �Is there a way to speed up eval?</div>
<div><br></div><div>Thanks,</div><div>-Joe</div>