From: Attila L. <att...@gm...> - 2010-04-02 21:21:23
|
> I'm about introducing an sb-thread:*default-special-bindings*. Seems > like other Lisps implement that as an alist between variable names, and > forms evaluated in the new thread. They also seem to make the variable's > default value to be the bindings behind WITH-STANDARD-IO-SYNTAX. i propose to use closures instead of eval. pro arguments: - funcall'ing a closure is much faster than eval - when applicable, a closure is a more flexible way of delaying computation than eval - slot initforms are a very similar issue, and they use closures cons arguments i don't agree with: - eval is easier to debug -- if so then don't use closures in general, or fix the debugger (which is not needed, slime works good enough in this sense) - it's harder to type the extra lambda which is not needed 99% of the time -- imho it's better to have a flexible atom with a thin macro hiding the details (if needed at all), than having a slow and less flexible atom slightly easier to use directly. and this feature is not something you'll type several times a day... - everyone does it the eval way -- this is not a technical argument. and cross platform libraries can hide away this difference easily (if they forbid initforms to use the lexical environment) -- attila |