Oh, Unicode combining characters and normalization. I classify that as "somebody else's problem." Specifically, if you're writing a font rendering engine, it's your problem. If you're writing an Arc compiler, it's not your problem. If you want complete Unicode library support in your language (like MzScheme's normalization functions string-normalize-nfd, etc.), then you just use an existing library such as ICU, and it's not your problem. ICU: http://www-306.ibm.com/software/globalization/icu/index.jsp
Firefox's Live HTTP Headers plugin tells me that news.ycombinator.com/rss has "Content-Type: text/html; charset=utf-8". I imagine RSS clients are not very strict about what they accept.
I don't think .htaccess will help you at all; example.com/news exists in "URL-space" not in the filesystem. So you don't need to do anything with a /news directory.
One comment on app.arc: readvar in app.arc uses valid-url, which is defined in news.arc. If valid-url were in app.arc instead, the layering would be better-defined. (Also, readvar wouldn't break when I comment out news.arc to work around the || redefinition problem.)
I suspect that parsing a float (or complex) is a nonimplemented feature. According to my documentation http://arcfn.com/foundation-doc.html#coerce a string can be coerced to sym, cons, or int only.
Well, parsing a float is implemented, in the sense that read will parse it for you, so that's not the problem. I suspect it doesn't work because num is just a place-holder for "this kind of number is not yet fully implemented; don't expect much". It will probably die in a future release.
Ok, I'm stumped. What's the difference between arform and arformh? I thought arformh gave access to the headers, but they both do. arformh doesn't update save-optime, but I think that's just an accident. Why do these both exist?
Going to /a1 or /a2 and clicking the button shows that both update the cookie and redirect to /prreq. So why are there separate arform and arformh macros?
Edit: after some time scanning through the code - it seems that arformh's time is measured, but arform's time is not. Or vice versa, I could've gotten confused.
Cref: rfnurl* and rfnurl2* . rfnurl* is "r", r is (defopr r ...), defopr is (... (defop-raw ...)), defop-raw is (... (save-optime ...))
rfunurl2* is "y", y is (defopr-raw y ...), defopr-raw doesn't add any code to the body: (fn ,parms ,@body)
When you say you've been able to use srv.arc with success, do you mean the unmodified arc2.tar version or a patched version such as Anarki? Let me clarify that when I said above that srv.arc was broken, I was referring to the official version.