Inspired by Jens and Grant, I decided to try my hand at some of the Project Euler problems using PLT scheme, to see what it was capable of.  It has proven itself capable on the few problems that I have completed so far, but I just ran into what appears to be a bug of sorts.  It appears that the hash-table implementation does not expand as more keys are added, and so if the table reaches a certain size things slow down dramatically.  For example
<br><br>(require (lib &quot;42.ss&quot; &quot;srfi&quot;))<br><br>(define (randfrac n)<br>&nbsp; (/ (+ 1 (random n)) (+ 1 (random n))))<br><br>(define ht (make-hash-table &#39;equal))<br>(time (do-ec (: a 1 1000) (hash-table-put! ht (randfrac 1000) #t)))
<br>(time (do-ec (: a 1 10000) (hash-table-put! ht (randfrac 1000) #t)))<br>(time (do-ec (: a 1 100000) (hash-table-put! ht (randfrac 1000) #t)))<br><br>results in<br><br>Welcome to DrScheme, version 370 [3m].<br>Language: Graphical (MrEd, includes MzScheme); memory limit: 1024 megabytes.
<br>cpu time: 0 real time: 0 gc time: 0<br>cpu time: 125 real time: 125 gc time: 0<br>cpu time: 13047 real time: 13047 gc time: 0<br>&gt; <br>