Skip to content
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

Feedback #1

Open
wasamasa opened this issue May 9, 2019 · 1 comment
Open

Feedback #1

wasamasa opened this issue May 9, 2019 · 1 comment

Comments

@wasamasa
Copy link

wasamasa commented May 9, 2019

multi-benchmarks.el

  • mu- is a pretty bad namespace prefix due to confusion with mu4e (where the native parts are known as mu).
  • Use cl-lib consistently, cl-lib-hightlight helps.

multi-methods.el

multi-patterns.el

  • Yes, interactive is special, it can accept code that will be evaluated at a later time. No idea about declare.
  • Consider using buttercup if ERT causes you massive pains.
  • Mutating list literals is a bad idea in any case, don't do it: https://web.archive.org/web/20170106022314/http://shift-reset.com/blog/2014/2/28/List%20Mutation%20Public%20Service%20Announcement/
  • ? doesn't translate to 32, it's char syntax for a space (which is better expressed as ?\s anyway). You'd be better off escaping the question mark instead, that would make it a symbol.
  • Generally speaking, consider not translating mu-patterns to pcase and roll your own thing instead. This would be a greater undertaking, but teach you a lot more and most certainly avoids degenerate pcase cases. There are a bunch of implementations in Emacs Lisp, Scheme, Clojure, the better ones reference papers.

multi-prelude.el

  • This file will most certainly not fly because its unprefixed stuff goes way beyond shimming. MELPA's packaging standards are pretty strict here.
@vkz
Copy link
Owner

vkz commented May 12, 2019

thank you @wasamasa

Since people have been sending technical feedback by email, here on github and on Reddit, I'll try to compile them all here lest I forget what I need to do as I get to, well, doing it.

From email communication with Stefan M:

  • mu-seq-pattern-force-list can't meaningfully be a "defcustom" because
    changing the setting will break existing code that relies on
    the other setting of that var, and making the code agnostic to the
    value of this setting means that changing this setting will have no
    visible effect for the end-user.

This one needs documentation change:

  • mu-function? is not "like functionp" since it doesn't operate on
    values but on expressions.

Reddit:

Similar to what @wasamasa reports: namespacing, cl-lib, etc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants