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

Make the split flag obsolete #124

Closed
okamsn opened this issue Aug 7, 2022 · 1 comment
Closed

Make the split flag obsolete #124

okamsn opened this issue Aug 7, 2022 · 1 comment
Labels
deprecation/obsoletion Marking things for eventual removal simplification Making things simpler

Comments

@okamsn
Copy link
Owner

okamsn commented Aug 7, 2022

What the split flag does is good, but is a more restricted version of what
accum-opt can do.

;; => ((1 2 3) (3 6 9))
(loopy (flag split)
       (nums i 1 3)
       (collect i)
       (collect (* 3 i)))

;; => ((1 2 3) (3 6 9))
(loopy (accum-opt coll1 coll2)
       (nums i 1 3)
       (collect coll1 i)
       (collect coll2 (* 3 i))
       (finally-return coll1 coll2))

The split flag cannot be used outside of a one-to-one correspondence of
accumulation variables and commands. Since accum-opt has explicit variable
names, it does not have this restriction.

;; `split' cannot be used like this:
;; => ((1 2 3) (3 4 6 8 9 12))
(loopy (accum-opt coll1 coll2)
       (nums i 1 3)
       (collect coll1 i)
       (collect coll2 (* 3 i))
       (collect coll2 (* 4 i))
       (finally-return coll1 coll2))

Since the accump-opt special macro argument is more general and more clear,
split should be obsoleted and eventually removed.

@okamsn okamsn added simplification Making things simpler deprecation/obsoletion Marking things for eventual removal labels Aug 11, 2022
okamsn added a commit that referenced this issue Aug 21, 2022
The `accum-opt` flag is a more general, more controllable version.

- Make the flag functions signal warnings.
- Remove references of the flag from the documentation.
- Add deprecation tests.
- Update file `misc-tests.el`.

See PR #131 and issue #124.
okamsn added a commit that referenced this issue Aug 21, 2022
The `accum-opt` flag is a more general, more controllable version.

- Make the flag functions signal warnings.
- Remove references of the flag from the documentation.
- Add deprecation tests.
- Update file `misc-tests.el`.

See PR #131 and issue #124.
@okamsn
Copy link
Owner Author

okamsn commented Aug 21, 2022

Done in PR #131.

@okamsn okamsn closed this as completed Aug 21, 2022
okamsn added a commit that referenced this issue Aug 27, 2023
- Remove flag `split`.  See PRs #165, #131.  See issue #124.
- Remove flag `lax-naming`.  See PRs #165, #119.
- Remove command `sub-loop`.  See PRs #165, #130.  See issue #127.
okamsn added a commit that referenced this issue Sep 3, 2023
- Remove flag `split`.  See PRs #165, #131.  See issue #124.
- Remove flag `lax-naming`.  See PRs #165, #119.
- Remove command `sub-loop`.  See PRs #165, #130.  See issue #127.
okamsn added a commit that referenced this issue Sep 3, 2023
- Remove flag `split`.  See PRs #165, #131.  See issue #124.
- Remove flag `lax-naming`.  See PRs #165, #119.
- Remove command `sub-loop`.  See PRs #165, #130.  See issue #127.
- Remove obsolete alias `loopy-iter-command-keywords` for variable
  `loopy-iter-keywords`.  See PRs #165, #119.
okamsn added a commit that referenced this issue Sep 3, 2023
- Remove flag `split`.  See PRs #165, #131.  See issue #124.
- Remove flag `lax-naming`.  See PRs #165, #119.
- Remove command `sub-loop`.  See PRs #165, #130.  See issue #127.
- Remove obsolete alias `loopy-iter-command-keywords` for variable
  `loopy-iter-keywords`.  See PRs #165, #119.
okamsn added a commit that referenced this issue Sep 3, 2023
- Remove flag `split`.  See PRs #165, #131.  See issue #124.
- Remove flag `lax-naming`.  See PRs #165, #119.
- Remove command `sub-loop`.  See PRs #165, #130.  See issue #127.
- Remove obsolete alias `loopy-iter-command-keywords` for variable
  `loopy-iter-keywords`.  See PRs #165, #119.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deprecation/obsoletion Marking things for eventual removal simplification Making things simpler
Projects
None yet
Development

No branches or pull requests

1 participant