Personally, I think this idea is a bad one, that will come back to bite people hard- but I doubt anyone is going to listen to me.
If you serialize the code (either in lisp s-expression form, or java byte code), you can easily end up serializing most of the whole program. See, serialization isn't a bi-directional protocol, there's no way for the recipient to say "OK, I've got that code, you don't have to send it". So to serialize a function, you have to serialize all the functions it depends upon, and then all the functions the depended-up functions depend upon, and so on. Depending upon the code already being in the recipient's program simply creates a very specific dependency. This serialized file or stream can only be read with this precise version of the code. Make a small change, and whomp- old files can't be read, and you can't communicate with older version of the code- because they want you to call function foobar__57, and you don't have foobar__57, you have foobar__59. And in clojure, it's very easy for closures to sneak into your data structures. Got a lazy list? It's got a closure. Got a tree map or set? It's got a closure. And so on. Now, get off my lawn. Brian -- 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