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

Don't depend on Dash #68

Open
mekeor opened this issue Jul 21, 2024 · 1 comment
Open

Don't depend on Dash #68

mekeor opened this issue Jul 21, 2024 · 1 comment

Comments

@mekeor
Copy link
Collaborator

mekeor commented Jul 21, 2024

lean4-mode depends on Dash. This is not too bad. But in recent years, the standard library of ELisp has evolved and this dependency doesn't seem necessary now. These are probably most occurences of functions from Dash:

lean4-input.el:324:      (--each
lean4-input.el:325:          (--filter (not (member (car it) exclude-list))
lean4-info.el:80:  (-if-let (window (get-buffer-window buffer))
lean4-info.el:116:          (-let (((&Diagnostic :message :range (&Range :start (&Position :line :character))) e))
lean4-info.el:124:    (-let* ((deactivate-mark) ; keep transient mark
lean4-info.el:127:            (errors (-sort (-on #'< #'lean4-diagnostic-full-end-line) errors))
lean4-info.el:129:             (--split-with (< (lean4-diagnostic-full-end-line it) line) errors))
lean4-info.el:131:             (--split-with (<= (lean4-diagnostic-full-start-line it) line) errors)))
lean4-info.el:261:    (-some-> lean4-info-buffer-debounce-timer cancel-timer)
lean4-info.el:278:     (-lambda ((ignored &as &lean:PlainGoal? :goals))
lean4-info.el:287:     (-lambda ((ignored &as &lean:PlainTermGoal? :goal))
lean4-syntax.el:89:    (--each (list ?a ?b ?c ?d ?e ?f ?g ?h ?i ?j ?k ?l ?m
lean4-syntax.el:94:    (--each (list ?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9)
lean4-syntax.el:96:    (--each (list ?α ?β ?γ ?δ ?ε ?ζ ?η ?θ ?ι ?κ ;;?λ
lean4-syntax.el:100:    (--each (list ?ϊ ?ϋ ?ό ?ύ ?ώ ?Ϗ ?ϐ ?ϑ ?ϒ ?ϓ ?ϔ ?ϕ ?ϖ
lean4-syntax.el:105:    (--each (list ?ἀ ?ἁ ?ἂ ?ἃ ?ἄ ?ἅ ?ἆ ?ἇ ?Ἀ ?Ἁ ?Ἂ ?Ἃ ?Ἄ
lean4-syntax.el:126:    (--each (list ?℀ ?℁ ?ℂ ?℃ ?℄ ?℅ ?℆ ?ℇ ?℈ ?℉ ?ℊ ?ℋ ?ℌ ?ℍ ?ℎ
lean4-syntax.el:133:    (--each (list ?₁ ?₂ ?₃ ?₄ ?₅ ?₆ ?₇ ?₈ ?₉ ?₀
lean4-syntax.el:139:    (--each (string-to-list "#$%&*+<=>@^|~:")
lean4-syntax.el:219:    `(,(-concat new-entries inherited-entries))))
@mekeor mekeor changed the title Don't depend on dash Don't depend on Dash Jul 21, 2024
mekeor added a commit that referenced this issue Nov 24, 2024
Fixes #68 "Don't depend on
Dash" (<#68>).

In README, do not mention Dash.

Most complex change involves a replacement for an expression
like (-let* (((a b) (--split-with ...)))) for which a new (private
inline helper) function has been introduced:
lean4-info-buffer-redisplay--partition-errors.
mekeor added a commit that referenced this issue Nov 24, 2024
Fixes #68 "Don't depend on
Dash" (<#68>).

In README, do not mention Dash.

Most complex change involves a replacement for an expression
like (-let* (((a b) (--split-with ...)))) for which a new (private
inline helper) function has been introduced:
lean4-info-buffer-redisplay--partition-errors.
mekeor added a commit that referenced this issue Nov 24, 2024
Fixes #68 "Don't depend on
Dash" (<#68>).

In README, do not mention Dash.

Most complex change involves a replacement for an expression
like (-let* (((a b) (--split-with ...)))) for which a new (private
inline helper) function has been introduced:
lean4-info-buffer-redisplay--partition-errors.
mekeor added a commit that referenced this issue Nov 26, 2024
Fixes #68 "Don't depend on
Dash" (<#68>).

In README, do not mention Dash.

Most complex change involves a replacement for an expression
like (-let* (((a b) (--split-with ...)))) for which a new (private
inline helper) function has been introduced:
lean4-info-buffer-redisplay--partition-errors.
mekeor added a commit that referenced this issue Nov 26, 2024
Fixes #68 "Don't depend on
Dash" (<#68>).

In README, do not mention Dash.

Most complex change involves a replacement for an expression
like (-let* (((a b) (--split-with ...)))) for which a new (private
inline helper) function has been introduced:
lean4-info-buffer-redisplay--partition-errors.
mekeor added a commit that referenced this issue Nov 27, 2024
Fixes #68 "Don't depend on
Dash" (<#68>).

In README, do not mention Dash.

Most complex change involves a replacement for an expression
like (-let* (((a b) (--split-with ...)))) for which a new (private
inline helper) function has been introduced:
lean4-info-buffer-redisplay--partition-errors.
@mekeor
Copy link
Collaborator Author

mekeor commented Nov 30, 2024

lsp-mode is too tightly coupled to Dash. It's not practical to drop the dependency on Dash for those parts of Lean4-Mode that interface lsp-mode. That's why I'm now moving this ticket to milestone 4.

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

1 participant