On Jan 13, 2012, at 4:47 PM, Anthony Grimes wrote:

> Clojail errs on the side of safety and not on the side of "Oh, well maybe he 
> wasn't trying to break the sandbox. Let's allow it anyway.". Treating macros 
> as opaque is just another hole in what is already difficult sandboxing. 
> Macros are not even remotely close to functions. They *create* code. That 
> code, just like any other explicitly written in your application, needs to be 
> sandboxed. It is much easier and safer to sandbox dangerous functions. The 
> fact that expanded macro code that uses those functions is also affected is 
> less of a bug and more of a feature.
> 
> That said, of course it is unfortunate that things like this occur in 
> 4Clojure for things as simple as for. But clojail and 4clojure are separate 
> projects. clojail is focused on being as safe as possible, which may 
> sometimes clash with what would be most convenient in 4Clojure.

I happened to run into the same issue on the same problem, and it drove me 
absolutely nuts.  Luckily, I was able to ask Sean Corfield to take a look at 
it, and he realized that _for_ was using count under the hood.  Was it 
frustrating?  Yes, it was.  But was it a learning experience?  Yes.  
Absolutely.  Sometimes learning experiences just aren't fun.  Oh well.

4Clojure is a fantastic resource, in spite of the few idiosyncrasies (I don't 
consider it a "bug", YMMV).  Yes, I had Sean to turn to.  The OP had this list 
to turn to.  I don't think anybody's walked away from the language in 
frustration due to hitting this particular issue.

_Could_ it be addressed?  Maybe.  That might even be an interesting and 
frustrating learning experience for whoever chooses to undertake that 
particular task :)  But as  it stands, let's just figure anybody who is that 
upset over 4Clojure not recognizing that a particular function call was 
actually made from a macro will promptly be refunded the $ they spent to access 
the site :)

Thanks, Anthony!

(My $0.02 as a n00b)

Charlie

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to