summaryrefslogtreecommitdiffstats
path: root/2023/talks/parallel.md
blob: d0ba3325ab0b69cc67f5b6e2f5b6f84df0e39d38 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
[[!meta title="Parallel Text Replacement"]]
[[!meta copyright="Copyright © 2023 Lovro, Valentino Picotti"]]
[[!inline pages="internal(2023/info/parallel-nav)" raw="yes"]]

<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->


# Parallel Text Replacement
Lovro, Valentino Picotti - IRC: hokomo, <mailto:hokomo@airmail.cc>

[[!inline pages="internal(2023/info/parallel-before)" raw="yes"]]

We present our Emacs package for performing parallel text 
replacement.

"Parallel" in this context does not refer to improving 
efficiency through parallelism, but to the concept of performing 
more than one text replacement without them interfering with 
each other. This is in line with the usage of the term in the 
Lisp community when contrasting the behaviors of LET and LET\*, 
SETQ and PSETQ, etc. (e.g. 
<http://www.lispworks.com/documentation/lw60/CLHS/Body/s_let_l.htm>).

We will present the package's features and its integration with 
Emacs' query-replace system, a comparison with previous 
solutions, and a few notes on our implementation. We will 
describe some common use-cases and showcase how the package is 
used.

The package is currently not yet published in a package archive, 
but the code is already publicly available at 
<https://github.com/hokomo/query-replace-parallel>. The name 
"query-replace-parallel" is not yet final and we are thinking of 
alternatives. Our current best candidate is "replace-parallel" 
(similar to the built-in "replace.el"), but suggestions are 
welcome.



[[!inline pages="internal(2023/info/parallel-after)" raw="yes"]]

[[!inline pages="internal(2023/info/parallel-nav)" raw="yes"]]