-
-
Notifications
You must be signed in to change notification settings - Fork 189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should arrow-macros be replaced with https://gitlab.com/Harleqin/arrows? #370
Comments
For whatever it's worth, I don't think arrows should be recommended as awesome, personally. |
I don't know if the purpose of Awesome CL is really to stick to just
"awesome" libraries, I believe we have a number of unpolished, debatable
libraries in the list.
Clojure users could be happy to know that such a feature exists in
Common Lisp and this might help with conversion.
We could also include the discussion you've linked next to the
recommendation. This is already what we are doing for a number of
recommendations, I believe transparency is an essential goal for
"curated" lists.
|
🤔 (I don't have time to review third-party stuff, so I wouldn't know...)
There is an interesting balance to strike between identity(+)/tribalism(-) and outreach(+)/pandering(-).
Thank you for the proposal, it would definitely be far beyond my expectations if this was implemented.
💯 |
arrow-macros seems to be more featurful that Harlequin's arrows: it works with nested arrows (but does it really need a code walker?), and has more forms (as explained in arrows' README). It seems the least surprising solution. I am not a big user of arrows either. |
OK, then let's stick to arrow-macros, then.
Thank you @vindarel for clarifying the differences.
|
Yes. The arrow macro processing function must know if This problem cannot be solved in Common Lisp without a code walker, and this is why |
But wait a second, I have just noticed that Clojure's For instance, the following Clojure code is invalid: (print (-<> 42 (list (list <>))))
;; Syntax error compiling at (test.clj:166:22).
;; Unable to resolve symbol: <> in this context Therefore the behavior of |
Yes, the arrows README could maybe make this a bit clearer in the comparison paragraph. |
It might therefore be preferable to include both to provide choice for people:
EDIT: The rewrite, sadly, did not work; the |
Due to the semantic differences between the original If someone is fine with threading only Lisp values, as opposed to syntax elements in general, I assume that my implementation could be of use to them and therefore mentionworthy. But, ultimately, that's not for me to decide. |
I haven't tested though.
The text was updated successfully, but these errors were encountered: