Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve efficiency and various clean-ups.
- Add `loopy--instr-let-var*`, `loopy--instr-let-const*`, `loopy--instr-let-var`, `loopy--instr-let-const`. These macros are similar to `macroexp-let2*` in that the `const` versions try to pass constant values directly without creating a variable in the Loopy expansion. - Update `array`, `array-ref`, `cons`, `list`, `list-ref`, `seq`, `seq-ref`, `seq-index`, `adjoin`, `union`, `nunion` - Don't update `numbers` until after we remove the non-keyword args. - Replace some uses of `seq-let` with `cl-destructuring-bind`. - Use `loopy--bind-main-body` in some places. - Add some TODOs. - Fix `list-ref` tests to not modify literal constant list. - Fix `seq-ref` tests to not modify literal constant list. - Make `loopy--find-start-by-end-dir-vals` return the test function. - Add `:test` to `array`, `array-ref`, `sequence`, `sequence-index`, and `sequence-ref`. - When going up on lists, use `nthcdr` instead of `elt`. - Add `sequence`, `sequence-ref`, `sequence-index`, `array`, and `array-ref` tests for `:downfrom` and `:upfrom` as needed.
- Loading branch information