Arc Forumnew | comments | leaders | submitlogin
4 points by fallintothis 5613 days ago | link | parent

Sorry to be a pedant, but the paren-balancing is incomplete:

  arc> (string #\()
  ; can't send, even if I click the button instead of hitting "enter"

  arc> #\(
  )

  #\(
  Error: UNKNOWN::4: read: unexpected `)'

  arc> "("
  )

  "("
  Error: UNKNOWN::4: read: unexpected `)'
I tried this first, since I've noticed that syntax highlighters (of all things) often get this wrong.

Beside that point, very nice job. I especially like the interface: it looks great. My (light) testing yields no other bugs, at this point.

Also, not a bug, but a suggestion (tested in Firefox 3.0.8):

You might consider doing some line-wrapping of the output. For instance, when I just do sig at the REPL, it prints out the (large) hash-table just fine, but it's on one line, so the frame's dimensions stretch to accommodate it. The textbox for the prompt then centers under this wide line, and it's awkward to side-scroll to type more code and read further output.



4 points by palsecam 5612 days ago | link

> Sorry to be a pedant, but the paren-balancing is incomplete

This is not pedantry, this is bug reporting!

Yes, the check for '(', ')'s is really naive, and to be honest, I don't feel like coding a decent Lisp parser in Javascript for now :-)

> can't send, even if I click the button instead of hitting "enter"

This was actually not a bug, but a desired feature :-D But this was totally stupid, since the '(' check is incorrect in some cases. Now, clicking the button will anyway send the content, no check done in JS. If your content is invalid, evsrv will tell you:

   arc-online> (    ; then click on the button
   Error: UNKNOWN::0: read: expected a `)' to close `('
   
> You might consider doing some line-wrapping of the output.

Yes, absolutely. This is now (partially) done. `sig' and the majority of cases will be correctly handled, but not everything. `(for i 0 1000 (pr i))', for instance, is still "broken".

The problem is, the results are inserted in <pre> blocks, and after some search, it's easy to make them break lines on whitespaces, but not otherwise (CSS property "white-space").

Plus, a small bug I just recently noticed has been fixed: evaluating "nil" or "()" or "#f" didn't work. It now does ;-) But:

   arc-online> #f
   nil
   arc> #f
   #f
But remember this is the eval server:

   arc> (eval '#f)
   nil
So this is actually quite normal ;-)

Oh, and I tried the site today with Safari, and it globally works but the layout is bad. I'll fix this ASAP.

Anyway, thanks a lot fallintothis for your feedback! Testing these edge cases was smart of you ;-)

-----