5 comments

[ 16.0 ms ] story [ 143 ms ] thread
This one looks a lot different then the one you posted to IRC earlier but its nice to see support for functions! :)

EDIT: Great work though!

It seems to have a problem with large numbers.

  => (type 10)
  java.lang.Integer
  => (type 10000000000)
  java.lang.Exception: EvalReader not allowed when
  *read-eval* is false.
Edit: a few bugs or limitations:

  => (defn pow [base exp] (apply * (take exp (iterate #'identity base))))
  #'net.licenser.sandbox.box1712/pow
  => (defn long-compute [power] (def p (pow 10 power)) (loop [i 0] (if (> i p) i (recur (inc i)))))
  #'net.licenser.sandbox.box1712/long-compute
  => (long-compute 6)
  1000001
  => (long-compute 7)
  Execution Timed Out!

  => (import java.lang.System)
  java.lang.System
  => (System/getCurrentTimeMillis)
  Disabled for security purposes.

  => 10000000000
  10000000000
  => (type 10000000000)
  java.lang.Exception: EvalReader not allowed when *read-eval* is false.
  => (type (pow 10 10))
  java.lang.Long
It would be foolish not put limitations on a live clojure repl.
this is very good idea, but the design of the page make me want to close the window - it hurt my eyes.