|
|
|
|
|
by cube2222
2243 days ago
|
|
I've read (skimmed really) the readme and I can't really figure out what this is for. I think an introductory "when would you use this" section would be very useful. Does this serialize functions to be sent over the wire? Or does it simply save them to variables? If so, why can't I just assign the function to a variable directly? In the short-description it says "Function serialization between Clojure processes and dialects" but I can't find any example of using this cross-process-border in the readme. Though I applaud you for writing with an interesting vibe, I can't seem to get what you're describing. |
|
That seems to indeed be one of the use cases.
> If so, why can't I just assign the function to a variable directly?
Clojure doesn't really have variables as you're used to it (I'm assuming your experience here). Instead, Clojure has Var, Refs, Bindings and more constructs. You can read about them here: https://clojure.org/reference/vars
> In the short-description it says "Function serialization between Clojure processes and dialects" but I can't find any example of using this cross-process-border in the readme.
It doesn't just have to be cross-process but cross-dialect. As Clojure has multiple runtimes (like JVM [most popular], JavaScript and CLR). So one use case of this library could be to have a frontend made in ClojureScript that dynamically requests behavior (functions) from a Clojure (JVM or CLR) backend in a nicer way than just sending the text of the function then calling `read` (that reads text into actual code).
> Though I applaud you for writing with an interesting vibe, I can't seem to get what you're describing.
But in the end, I agree with you. The author could make the use cases more clear and interesting, as that seems to be missing from the readme currently. What would be most interesting is not all the possible use cases, but the specific use case the author had in mind when writing this. What kind of interesting thing is the author building?