-
Notifications
You must be signed in to change notification settings - Fork 0
/
grove-paper.bib
939 lines (880 loc) · 40.4 KB
/
grove-paper.bib
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
## Unsorted
## Non-Bib
## BibScrape
@article{DBLP:journals/spe/VouillonB14,
author = {J{\'{e}}r{\^{o}}me Vouillon and
Vincent Balat},
title = {From bytecode to JavaScript: the Js{\_}of{\_}ocaml compiler},
journal = {Softw. Pract. Exp.},
volume = {44},
number = {8},
pages = {951--972},
year = {2014},
url = {https://doi.org/10.1002/spe.2187},
doi = {10.1002/SPE.2187},
timestamp = {Thu, 09 Apr 2020 17:13:20 +0200},
biburl = {https://dblp.org/rec/journals/spe/VouillonB14.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/pacmhci/LittLKH22,
author = {Geoffrey Litt and
Sarah Lim and
Martin Kleppmann and
Peter van Hardenberg},
title = {Peritext: {A} {CRDT} for Collaborative Rich Text Editing},
journal = {Proc. {ACM} Hum. Comput. Interact.},
volume = {6},
number = {{CSCW2}},
pages = {1--36},
year = {2022},
url = {https://doi.org/10.1145/3555644},
doi = {10.1145/3555644},
timestamp = {Sat, 30 Sep 2023 10:23:21 +0200},
biburl = {https://dblp.org/rec/journals/pacmhci/LittLKH22.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{ahmed2011evaluating,
title={Evaluating crdts for real-time document editing},
author={Ahmed-Nacer, Mehdi and Ignat, Claudia-Lavinia and Oster, G{\'e}rald and Roh, Hyun-Gul and Urso, Pascal},
booktitle={Proceedings of the 11th ACM symposium on Document engineering},
pages={103--112},
year={2011}
}
@article{paskin1999toward,
title={Toward unique identifiers},
author={Paskin, Norman},
journal={Proceedings of the IEEE},
volume={87},
number={7},
pages={1208--1227},
year={1999},
publisher={IEEE}
}
@inproceedings{kleppmann2020moving,
title={Moving elements in list CRDTs},
author={Kleppmann, Martin},
booktitle={Proceedings of the 7th Workshop on Principles and Practice of Consistency for Distributed Data},
pages={1--6},
year={2020}
}
@article{preguicca2018conflict,
title={Conflict-free replicated data types (CRDTs)},
author={Pregui{\c{c}}a, Nuno and Baquero, Carlos and Shapiro, Marc},
journal={arXiv preprint arXiv:1805.06358},
year={2018}
}
@article{10.1145/3450952,
author = {Dunfield, Jana and Krishnaswami, Neel},
title = {Bidirectional Typing},
year = {2021},
issue_date = {June 2022},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {54},
number = {5},
issn = {0360-0300},
url = {https://doi.org/10.1145/3450952},
doi = {10.1145/3450952},
abstract = {Bidirectional typing combines two modes of typing: type checking, which checks that a program satisfies a known type, and type synthesis, which determines a type from the program. Using checking enables bidirectional typing to support features for which inference is undecidable; using synthesis enables bidirectional typing to avoid the large annotation burden of explicitly typed languages. In addition, bidirectional typing improves error locality. We highlight the design principles that underlie bidirectional type systems, survey the development of bidirectional typing from the prehistoric period before Pierce and Turner’s local type inference to the present day, and provide guidance for future investigations.},
journal = {ACM Comput. Surv.},
month = may,
articleno = {98},
numpages = {38},
keywords = {type inference, Type checking}
}
@inproceedings{siek2015,
author = {Jeremy G. Siek and Michael M. Vitousek and Matteo Cimini and John Tang Boyland},
editor = {Thomas Ball and Rastislav Bodik and Shriram Krishnamurthi and Benjamin S. Lerner and
Greg Morrisett},
title = {Refined Criteria for Gradual Typing},
booktitle = {1st Summit on Advances in Programming Languages, {SNAPL} 2015, May 3-6, 2015,
Asilomar, California, {USA}},
series = {LIPIcs},
volume = {32},
pages = {274--293},
publisher = {Schloss Dagstuhl - Leibniz-Zentrum f{\"{u}}r Informatik},
year = {2015},
url = {https://doi.org/10.4230/LIPIcs.SNAPL.2015.274},
doi = {10.4230/LIPICS.SNAPL.2015.274},
timestamp = {Tue, 11 Feb 2020 15:52:14 +0100},
biburl = {https://dblp.org/rec/conf/snapl/SiekVCB15.bib},
bibsource = {dblp computer science bibliography, https://dblp.org},
}
@article{DBLP:journals/pacmpl/ZhaoMDBPO24,
author = {Eric Zhao and
Raef Maroof and
Anand Dukkipati and
Andrew Blinn and
Zhiyi Pan and
Cyrus Omar},
title = {Total Type Error Localization and Recovery with Holes},
journal = {Proc. {ACM} Program. Lang.},
volume = {8},
number = {{POPL}},
pages = {2041--2068},
year = {2024},
url = {https://doi.org/10.1145/3632910},
doi = {10.1145/3632910},
timestamp = {Sat, 10 Feb 2024 18:05:26 +0100},
biburl = {https://dblp.org/rec/journals/pacmpl/ZhaoMDBPO24.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/sigmod/EllisG89,
author = {Clarence A. Ellis and
Simon J. Gibbs},
editor = {James Clifford and
Bruce G. Lindsay and
David Maier},
title = {Concurrency Control in Groupware Systems},
booktitle = {Proceedings of the 1989 {ACM} {SIGMOD} International Conference on
Management of Data, Portland, Oregon, USA, May 31 - June 2, 1989},
pages = {399--407},
publisher = {{ACM} Press},
year = {1989},
url = {https://doi.org/10.1145/67544.66963},
doi = {10.1145/67544.66963},
timestamp = {Mon, 21 Jun 2021 16:00:48 +0200},
biburl = {https://dblp.org/rec/conf/sigmod/EllisG89.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{shapiro2011conflict,
title={Conflict-free replicated data types},
author={Shapiro, Marc and Pregui{\c{c}}a, Nuno and Baquero, Carlos and Zawirski, Marek},
booktitle={Stabilization, Safety, and Security of Distributed Systems: 13th International Symposium, SSS 2011, Grenoble, France, October 10-12, 2011. Proceedings 13},
pages={386--400},
year={2011},
organization={Springer}
}
@inproceedings{DBLP:conf/popl/OmarVHAH17,
author = {Cyrus Omar and
Ian Voysey and
Michael Hilton and
Jonathan Aldrich and
Matthew A. Hammer},
editor = {Giuseppe Castagna and
Andrew D. Gordon},
title = {Hazelnut: a bidirectionally typed structure editor calculus},
booktitle = {Proceedings of the 44th {ACM} {SIGPLAN} Symposium on Principles of
Programming Languages, {POPL} 2017, Paris, France, January 18-20,
2017},
pages = {86--99},
publisher = {{ACM}},
year = {2017},
url = {https://doi.org/10.1145/3009837.3009900},
doi = {10.1145/3009837.3009900},
timestamp = {Mon, 05 Feb 2024 20:33:37 +0100},
biburl = {https://dblp.org/rec/conf/popl/OmarVHAH17.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{Omar:2019:10.1145/3290327,
author = {Omar, Cyrus and Voysey, Ian and Chugh, Ravi and Hammer, Matthew A.},
title = {Live functional programming with typed holes},
journal = {Proceedings of the ACM on Programming Languages},
volume = {3},
number = {POPL},
pages = {14:1--14:32},
articleno = {14},
numpages = {32},
month = jan,
year = {2019},
issue_date = {January 2019},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
doi = {10.1145/3290327},
bib_scrape_url = {https://dl.acm.org/doi/10.1145/3290327},
keywords = {contextual modal type theory; gradual typing; live programming; structured editing; typed holes},
abstract = {Live programming environments aim to provide programmers (and sometimes audiences) with continuous feedback about a program's dynamic behavior as it is being edited. The problem is that programming languages typically assign dynamic meaning only to programs that are complete, i.e. syntactically well-formed and free of type errors. Consequently, live feedback presented to the programmer exhibits temporal or perceptive gaps.
{\par}
This paper confronts this {\textquotedbl}gap problem{\textquotedbl} from type-theoretic first principles by developing a dynamic semantics for incomplete functional programs, starting from the static semantics for incomplete functional programs developed in recent work on Hazelnut. We model incomplete functional programs as expressions with holes, with empty holes standing for missing expressions or types, and non-empty holes operating as membranes around static and dynamic type inconsistencies. Rather than aborting when evaluation encounters any of these holes as in some existing systems, evaluation proceeds around holes, tracking the closure around each hole instance as it flows through the remainder of the program. Editor services can use the information in these hole closures to help the programmer develop and confirm their mental model of the behavior of the complete portions of the program as they decide how to fill the remaining holes. Hole closures also enable a fill-and-resume operation that avoids the need to restart evaluation after edits that amount to hole filling. Formally, the semantics borrows machinery from both gradual type theory (which supplies the basis for handling unfilled type holes) and contextual modal type theory (which supplies a logical basis for hole closures), combining these and developing additional machinery necessary to continue evaluation past holes while maintaining type safety. We have mechanized the metatheory of the core calculus, called Hazelnut Live, using the Agda proof assistant.
{\par}
We have also implemented these ideas into the Hazel programming environment. The implementation inserts holes automatically, following the Hazelnut edit action calculus, to guarantee that every editor state has some (possibly incomplete) type. Taken together with this paper's type safety property, the result is a proof-of-concept live programming environment where rich dynamic feedback is truly available without gaps, i.e. for every reachable editor state.},
}
@article{DBLP:journals/algorithmica/KruskalRS90,
author = {Clyde P. Kruskal and
Larry Rudolph and
Marc Snir},
title = {Efficient Parallel Algorithms for Graph Problems},
journal = {Algorithmica},
volume = {5},
number = {1},
pages = {43--64},
year = {1990},
url = {https://doi.org/10.1007/BF01840376},
doi = {10.1007/BF01840376},
timestamp = {Wed, 17 May 2017 14:25:11 +0200},
biburl = {https://dblp.org/rec/journals/algorithmica/KruskalRS90.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DiffAlgorithm,
title={An Algorithm for Differential File Comparison},
author={James W. Hunt and M. Douglas McIlroy},
year={1976},
url={https://www.cs.dartmouth.edu/%7Edoug/diff.pdf}
}
@inproceedings{DBLP:conf/icfp/MiraldoDS17,
author = {Victor Cacciari Miraldo and
Pierre{-}{\'{E}}variste Dagand and
Wouter Swierstra},
editor = {Sam Lindley and
Brent A. Yorgey},
title = {Type-directed diffing of structured data},
booktitle = {Proceedings of the 2nd {ACM} {SIGPLAN} International Workshop on Type-Driven
Development, TyDe@ICFP 2017, Oxford, UK, September 3, 2017},
pages = {2--15},
publisher = {{ACM}},
year = {2017},
url = {https://doi.org/10.1145/3122975.3122976},
doi = {10.1145/3122975.3122976},
timestamp = {Mon, 12 Jul 2021 15:34:15 +0200},
biburl = {https://dblp.org/rec/conf/icfp/MiraldoDS17.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/fuin/AratsuHK10,
author = {Taku Aratsu and
Kouichi Hirata and
Tetsuji Kuboyama},
title = {Approximating Tree Edit Distance through String Edit Distance for
Binary Tree Codes},
journal = {Fundam. Informaticae},
volume = {101},
number = {3},
pages = {157--171},
year = {2010},
url = {https://doi.org/10.3233/FI-2010-282},
doi = {10.3233/FI-2010-282},
timestamp = {Sat, 30 Sep 2023 10:13:44 +0200},
biburl = {https://dblp.org/rec/journals/fuin/AratsuHK10.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/tse/FluriWPG07,
author = {Beat Fluri and
Michael W{\"{u}}rsch and
Martin Pinzger and
Harald C. Gall},
title = {Change Distilling: Tree Differencing for Fine-Grained Source Code
Change Extraction},
journal = {{IEEE} Trans. Software Eng.},
volume = {33},
number = {11},
pages = {725--743},
year = {2007},
url = {https://doi.org/10.1109/TSE.2007.70731},
doi = {10.1109/TSE.2007.70731},
timestamp = {Wed, 16 Mar 2022 23:54:39 +0100},
biburl = {https://dblp.org/rec/journals/tse/FluriWPG07.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/fase/NguyenNPN10,
author = {Tung Thanh Nguyen and
Hoan Anh Nguyen and
Nam H. Pham and
Tien N. Nguyen},
editor = {David S. Rosenblum and
Gabriele Taentzer},
title = {Operation-Based, Fine-Grained Version Control Model for Tree-Based
Representation},
booktitle = {Fundamental Approaches to Software Engineering, 13th International
Conference, {FASE} 2010, Held as Part of the Joint European Conferences
on Theory and Practice of Software, {ETAPS} 2010, Paphos, Cyprus,
March 20-28, 2010. Proceedings},
series = {Lecture Notes in Computer Science},
volume = {6013},
pages = {74--90},
publisher = {Springer},
year = {2010},
url = {https://doi.org/10.1007/978-3-642-12029-9\_6},
doi = {10.1007/978-3-642-12029-9\_6},
timestamp = {Tue, 14 May 2019 10:00:54 +0200},
biburl = {https://dblp.org/rec/conf/fase/NguyenNPN10.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/snapl/OmarVHSGAH17,
author = {Cyrus Omar and
Ian Voysey and
Michael Hilton and
Joshua Sunshine and
Claire {Le Goues} and
Jonathan Aldrich and
Matthew A. Hammer},
editor = {Benjamin S. Lerner and
Rastislav Bod{\'{\i}}k and
Shriram Krishnamurthi},
title = {Toward Semantic Foundations for Program Editors},
booktitle = {2nd Summit on Advances in Programming Languages, {SNAPL} 2017, May
7-10, 2017, Asilomar, CA, {USA}},
series = {LIPIcs},
volume = {71},
pages = {11:1--11:12},
publisher = {Schloss Dagstuhl - Leibniz-Zentrum f{\"{u}}r Informatik},
year = {2017},
url = {https://doi.org/10.4230/LIPIcs.SNAPL.2017.11},
doi = {10.4230/LIPICS.SNAPL.2017.11},
timestamp = {Tue, 21 Mar 2023 20:56:23 +0100},
biburl = {https://dblp.org/rec/conf/snapl/OmarVHSGAH17.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/doceng/Lindholm04,
author = {Tancred Lindholm},
editor = {Ethan V. Munson and
Jean{-}Yves Vion{-}Dury},
title = {A three-way merge for {XML} documents},
booktitle = {Proceedings of the 2004 {ACM} Symposium on Document Engineering, Milwaukee,
Wisconsin, USA, October 28-30, 2004},
pages = {1--10},
publisher = {{ACM}},
year = {2004},
url = {https://doi.org/10.1145/1030397.1030399},
doi = {10.1145/1030397.1030399},
timestamp = {Tue, 06 Nov 2018 16:57:31 +0100},
biburl = {https://dblp.org/rec/conf/doceng/Lindholm04.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@incollection{voelter2011language,
title={Language and IDE Modularization and Composition with MPS},
author={Voelter, Markus},
booktitle={International Summer School on Generative and Transformational Techniques in Software Engineering},
pages={383--430},
year={2011},
publisher={Springer}
}
@article{maloney2010scratch,
title={The scratch programming language and environment},
author={Maloney, John and Resnick, Mitchel and Rusk, Natalie and Silverman, Brian and Eastmond, Evelyn},
journal={ACM Transactions on Computing Education (TOCE)},
volume={10},
number={4},
pages={1--15},
year={2010},
publisher={ACM New York, NY, USA}
}
@article{DBLP:journals/cacm/TeitelbaumR81,
author = {Tim Teitelbaum and
Thomas W. Reps},
title = {The Cornell Program Synthesizer: {A} Syntax-Directed Programming Environment},
journal = {Commun. {ACM}},
volume = {24},
number = {9},
pages = {563--573},
year = {1981},
url = {https://doi.org/10.1145/358746.358755},
doi = {10.1145/358746.358755},
timestamp = {Wed, 14 Nov 2018 10:22:33 +0100},
biburl = {https://dblp.org/rec/journals/cacm/TeitelbaumR81.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/scp/SchwagerlUW15,
author = {Felix Schw{\"{a}}gerl and
Sabrina Uhrig and
Bernhard Westfechtel},
title = {A graph-based algorithm for three-way merging of ordered collections
in {EMF} models},
journal = {Sci. Comput. Program.},
volume = {113},
pages = {51--81},
year = {2015},
url = {https://doi.org/10.1016/j.scico.2015.02.008},
doi = {10.1016/J.SCICO.2015.02.008},
timestamp = {Wed, 17 Feb 2021 21:56:00 +0100},
biburl = {https://dblp.org/rec/journals/scp/SchwagerlUW15.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/kbse/FalleriMBMM14,
author = {Jean{-}R{\'{e}}my Falleri and
Flor{\'{e}}al Morandat and
Xavier Blanc and
Matias Martinez and
Martin Monperrus},
editor = {Ivica Crnkovic and
Marsha Chechik and
Paul Gr{\"{u}}nbacher},
title = {Fine-grained and accurate source code differencing},
booktitle = {{ACM/IEEE} International Conference on Automated Software Engineering,
{ASE} '14, Vasteras, Sweden - September 15 - 19, 2014},
pages = {313--324},
publisher = {{ACM}},
year = {2014},
url = {https://doi.org/10.1145/2642937.2642982},
doi = {10.1145/2642937.2642982},
timestamp = {Sun, 25 Oct 2020 23:06:39 +0100},
biburl = {https://dblp.org/rec/conf/kbse/FalleriMBMM14.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/sigmod/ChawatheG97,
author = {Sudarshan S. Chawathe and
Hector Garcia{-}Molina},
editor = {Joan Peckham},
title = {Meaningful Change Detection in Structured Data},
booktitle = {{SIGMOD} 1997, Proceedings {ACM} {SIGMOD} International Conference
on Management of Data, May 13-15, 1997, Tucson, Arizona, {USA}},
pages = {26--37},
publisher = {{ACM} Press},
year = {1997},
url = {https://doi.org/10.1145/253260.253266},
doi = {10.1145/253260.253266},
timestamp = {Mon, 28 Aug 2023 21:17:12 +0200},
biburl = {https://dblp.org/rec/conf/sigmod/ChawatheG97.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/talg/DemaineMRW09,
author = {Erik D. Demaine and
Shay Mozes and
Benjamin Rossman and
Oren Weimann},
title = {An optimal decomposition algorithm for tree edit distance},
journal = {{ACM} Trans. Algorithms},
volume = {6},
number = {1},
pages = {2:1--2:19},
year = {2009},
url = {https://doi.org/10.1145/1644015.1644017},
doi = {10.1145/1644015.1644017},
timestamp = {Sun, 02 Jun 2019 20:48:04 +0200},
biburl = {https://dblp.org/rec/journals/talg/DemaineMRW09.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/wcre/HashimotoM08,
author = {Masatomo Hashimoto and
Akira Mori},
editor = {Ahmed E. Hassan and
Andy Zaidman and
Massimiliano Di Penta},
title = {Diff/TS: {A} Tool for Fine-Grained Structural Change Analysis},
booktitle = {{WCRE} 2008, Proceedings of the 15th Working Conference on Reverse
Engineering, Antwerp, Belgium, October 15-18, 2008},
pages = {279--288},
publisher = {{IEEE} Computer Society},
year = {2008},
url = {https://doi.org/10.1109/WCRE.2008.44},
doi = {10.1109/WCRE.2008.44},
timestamp = {Fri, 24 Mar 2023 00:04:45 +0100},
biburl = {https://dblp.org/rec/conf/wcre/HashimotoM08.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/pacmpl/MiraldoS19,
author = {Victor Cacciari Miraldo and
Wouter Swierstra},
title = {An efficient algorithm for type-safe structural diffing},
journal = {Proc. {ACM} Program. Lang.},
volume = {3},
number = {{ICFP}},
pages = {113:1--113:29},
year = {2019},
url = {https://doi.org/10.1145/3341717},
doi = {10.1145/3341717},
timestamp = {Wed, 17 Feb 2021 08:54:06 +0100},
biburl = {https://dblp.org/rec/journals/pacmpl/MiraldoS19.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/fase/AsenovG0O17,
author = {Dimitar Asenov and
Balz Guenat and
Peter M{\"{u}}ller and
Martin Otth},
editor = {Marieke Huisman and
Julia Rubin},
title = {Precise Version Control of Trees with Line-Based Version Control Systems},
booktitle = {Fundamental Approaches to Software Engineering - 20th International
Conference, {FASE} 2017, Held as Part of the European Joint Conferences
on Theory and Practice of Software, {ETAPS} 2017, Uppsala, Sweden,
April 22-29, 2017, Proceedings},
series = {Lecture Notes in Computer Science},
volume = {10202},
pages = {152--169},
publisher = {Springer},
year = {2017},
url = {https://doi.org/10.1007/978-3-662-54494-5\_9},
doi = {10.1007/978-3-662-54494-5\_9},
timestamp = {Fri, 09 Apr 2021 18:43:03 +0200},
biburl = {https://dblp.org/rec/conf/fase/AsenovG0O17.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/tcs/Bille05,
author = {Philip Bille},
title = {A survey on tree edit distance and related problems},
journal = {Theor. Comput. Sci.},
volume = {337},
number = {1-3},
pages = {217--239},
year = {2005},
url = {https://doi.org/10.1016/j.tcs.2004.12.030},
doi = {10.1016/J.TCS.2004.12.030},
timestamp = {Wed, 17 Feb 2021 22:01:22 +0100},
biburl = {https://dblp.org/rec/journals/tcs/Bille05.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/dam/Bubenzer14,
author = {Johannes Bubenzer},
title = {Cycle-aware minimization of acyclic deterministic finite-state automata},
journal = {Discret. Appl. Math.},
volume = {163},
pages = {238--246},
year = {2014},
url = {https://doi.org/10.1016/j.dam.2013.08.003},
doi = {10.1016/J.DAM.2013.08.003},
timestamp = {Thu, 11 Feb 2021 23:23:46 +0100},
biburl = {https://dblp.org/rec/journals/dam/Bubenzer14.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/esa/Klein98,
author = {Philip N. Klein},
editor = {Gianfranco Bilardi and
Giuseppe F. Italiano and
Andrea Pietracaprina and
Geppino Pucci},
title = {Computing the Edit-Distance between Unrooted Ordered Trees},
booktitle = {Algorithms - {ESA} '98, 6th Annual European Symposium, Venice, Italy,
August 24-26, 1998, Proceedings},
series = {Lecture Notes in Computer Science},
volume = {1461},
pages = {91--102},
publisher = {Springer},
year = {1998},
url = {https://doi.org/10.1007/3-540-68530-8\_8},
doi = {10.1007/3-540-68530-8\_8},
timestamp = {Tue, 14 May 2019 10:00:54 +0200},
biburl = {https://dblp.org/rec/conf/esa/Klein98.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/icfp/LempsinkLL09,
author = {Eelco Lempsink and
Sean Leather and
Andres L{\"{o}}h},
editor = {Patrik Jansson and
Sibylle Schupp},
title = {Type-safe diff for families of datatypes},
booktitle = {Proceedings of the 2009 {ACM} {SIGPLAN} workshop on Generic programming,
WGP@ICFP 2009, Edinburgh, United Kingdom, August 31 - September 2,
2009},
pages = {61--72},
publisher = {{ACM}},
year = {2009},
url = {https://doi.org/10.1145/1596614.1596624},
doi = {10.1145/1596614.1596624},
timestamp = {Sun, 02 Oct 2022 16:04:58 +0200},
biburl = {https://dblp.org/rec/conf/icfp/LempsinkLL09.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:journals/entcs/MimramG13,
author = {Samuel Mimram and
Cinzia Di Giusto},
editor = {Dexter Kozen and
Michael W. Mislove},
title = {A Categorical Theory of Patches},
booktitle = {Proceedings of the Twenty-ninth Conference on the Mathematical Foundations
of Programming Semantics, {MFPS} 2013, New Orleans, LA, USA, June
23-25, 2013},
series = {Electronic Notes in Theoretical Computer Science},
volume = {298},
pages = {283--307},
publisher = {Elsevier},
year = {2013},
url = {https://doi.org/10.1016/j.entcs.2013.09.018},
doi = {10.1016/J.ENTCS.2013.09.018},
timestamp = {Tue, 16 Aug 2022 23:07:10 +0200},
biburl = {https://dblp.org/rec/journals/entcs/MimramG13.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/oopsla/SwierstraL14,
author = {Wouter Swierstra and
Andres L{\"{o}}h},
editor = {Andrew P. Black and
Shriram Krishnamurthi and
Bernd Bruegge and
Joseph N. Ruskiewicz},
title = {The Semantics of Version Control},
booktitle = {Onward! 2014, Proceedings of the 2014 {ACM} International Symposium
on New Ideas, New Paradigms, and Reflections on Programming {\&}
Software, part of {SPLASH} '14, Portland, OR, USA, October 20-24,
2014},
pages = {43--54},
publisher = {{ACM}},
year = {2014},
url = {https://doi.org/10.1145/2661136.2661137},
doi = {10.1145/2661136.2661137},
timestamp = {Mon, 12 Jul 2021 15:34:15 +0200},
biburl = {https://dblp.org/rec/conf/oopsla/SwierstraL14.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/jacm/Tai79,
author = {Kuo{-}Chung Tai},
title = {The Tree-to-Tree Correction Problem},
journal = {J. {ACM}},
volume = {26},
number = {3},
pages = {422--433},
year = {1979},
url = {https://doi.org/10.1145/322139.322143},
doi = {10.1145/322139.322143},
timestamp = {Tue, 06 Nov 2018 12:51:44 +0100},
biburl = {https://dblp.org/rec/journals/jacm/Tai79.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/icfp/Vassena16,
author = {Marco Vassena},
editor = {James Chapman and
Wouter Swierstra},
title = {Generic Diff3 for algebraic datatypes},
booktitle = {Proceedings of the 1st International Workshop on Type-Driven Development,
TyDe@ICFP 2016, Nara, Japan, September 18, 2016},
pages = {62--71},
publisher = {{ACM}},
year = {2016},
url = {https://doi.org/10.1145/2976022.2976026},
doi = {10.1145/2976022.2976026},
timestamp = {Tue, 06 Nov 2018 16:59:24 +0100},
biburl = {https://dblp.org/rec/conf/icfp/Vassena16.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/jfp/AngiuliMLH16,
author = {Carlo Angiuli and
Edward Morehouse and
Daniel R. Licata and
Robert Harper},
title = {Homotopical patch theory},
journal = {J. Funct. Program.},
volume = {26},
pages = {e18},
year = {2016},
url = {https://doi.org/10.1017/S0956796816000198},
doi = {10.1017/S0956796816000198},
timestamp = {Fri, 02 Nov 2018 09:31:48 +0100},
biburl = {https://dblp.org/rec/journals/jfp/AngiuliMLH16.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/aplas/Solar-Lezama09,
author = {Armando Solar{-}Lezama},
editor = {Zhenjiang Hu},
title = {The Sketching Approach to Program Synthesis},
booktitle = {Programming Languages and Systems, 7th Asian Symposium, {APLAS} 2009,
Seoul, Korea, December 14-16, 2009. Proceedings},
series = {Lecture Notes in Computer Science},
volume = {5904},
pages = {4--13},
publisher = {Springer},
year = {2009},
url = {https://doi.org/10.1007/978-3-642-10672-9\_3},
doi = {10.1007/978-3-642-10672-9\_3},
timestamp = {Tue, 14 May 2019 10:00:41 +0200},
biburl = {https://dblp.org/rec/conf/aplas/Solar-Lezama09.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/haskell/Roundy05,
author = {David Roundy},
editor = {Daan Leijen},
title = {Darcs: distributed version management in haskell},
booktitle = {Proceedings of the {ACM} {SIGPLAN} Workshop on Haskell, Haskell 2005,
Tallinn, Estonia, September 30, 2005},
pages = {1--4},
publisher = {{ACM}},
year = {2005},
url = {https://doi.org/10.1145/1088348.1088349},
doi = {10.1145/1088348.1088349},
timestamp = {Mon, 12 Jul 2021 15:34:15 +0200},
biburl = {https://dblp.org/rec/conf/haskell/Roundy05.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/icdcs/PreguicaMSL09,
author = {Nuno M. Pregui{\c{c}}a and
Joan Manuel Marqu{\`{e}}s and
Marc Shapiro and
Mihai Letia},
title = {A Commutative Replicated Data Type for Cooperative Editing},
booktitle = {29th {IEEE} International Conference on Distributed Computing Systems
{(ICDCS} 2009), 22-26 June 2009, Montreal, Qu{\'{e}}bec, Canada},
pages = {395--403},
publisher = {{IEEE} Computer Society},
year = {2009},
url = {https://doi.org/10.1109/ICDCS.2009.20},
doi = {10.1109/ICDCS.2009.20},
timestamp = {Fri, 24 Mar 2023 00:04:19 +0100},
biburl = {https://dblp.org/rec/conf/icdcs/PreguicaMSL09.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{Highly-Available,
author={Kleppmann, Martin and Mulligan, Dominic P. and Gomes, Victor B. F. and Beresford, Alastair R.},
journal={IEEE Transactions on Parallel and Distributed Systems},
title={A Highly-Available Move Operation for Replicated Trees},
year={2022},
volume={33},
number={7},
pages={1711-1724},
keywords={Internet;Synchronization;Computer bugs;XML;Software;Drives;Data models;Conflict-free replicated data types (CRDTs);formal verification;distributed filesystems;distributed collaboration},
doi={10.1109/TPDS.2021.3118603}}
@article{DBLP:journals/jfp/Huet97,
author = {G{\'{e}}rard P. Huet},
title = {The Zipper},
journal = {J. Funct. Program.},
volume = {7},
number = {5},
pages = {549--554},
year = {1997},
url = {https://doi.org/10.1017/s0956796897002864},
doi = {10.1017/S0956796897002864},
timestamp = {Tue, 16 Aug 2022 23:04:53 +0200},
biburl = {https://dblp.org/rec/journals/jfp/Huet97.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@online{pijul-talk,
title = {Version control post-Git},
year = {2024},
organization = {FOSDEM 2024},
author = {Pierre-Étienne Meunier},
url = {https://archive.fosdem.org/2024/schedule/event/fosdem-2024-3423-version-control-post-git/},
}
@online{zed-blog,
title = {How CRDTs make multiplayer text editing part of Zed's DNA},
year = {2022},
author = {Nathan Sobo},
url = {https://zed.dev/blog/crdts},
url = {https://zed.dev/},
}
@online{old-darcs-manual,
title = {Darcs 2.1.0.1, Appendix A: Theory of patches},
year = {2009},
author = {David Roundy},
url = {https://www.cs.tufts.edu/comp/150GIT/archive/david-roundy/theory-patches-2009.pdf},
url = {https://darcs.net/Theory/MergersDocumentation},
url = {https://www.cs.cmu.edu/afs/club/user/jrgallag/410/bin/darcs-2.2.0-src/doc/manual/node9.html},
}
@inproceedings{DBLP:conf/cscw/OsterUMI06,
author = {G{\'{e}}rald Oster and
Pascal Urso and
Pascal Molli and
Abdessamad Imine},
editor = {Pamela J. Hinds and
David Martin},
title = {Data consistency for {P2P} collaborative editing},
booktitle = {Proceedings of the 2006 {ACM} Conference on Computer Supported Cooperative
Work, {CSCW} 2006, Banff, Alberta, Canada, November 4-8, 2006},
pages = {259--268},
publisher = {{ACM}},
year = {2006},
url = {https://doi.org/10.1145/1180875.1180916},
doi = {10.1145/1180875.1180916},
timestamp = {Tue, 06 Nov 2018 16:57:12 +0100},
biburl = {https://dblp.org/rec/conf/cscw/OsterUMI06.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/jpdc/RohJKL11,
author = {Hyun{-}Gul Roh and
Myeongjae Jeon and
Jinsoo Kim and
Joonwon Lee},
title = {Replicated abstract data types: Building blocks for collaborative
applications},
journal = {J. Parallel Distributed Comput.},
volume = {71},
number = {3},
pages = {354--368},
year = {2011},
url = {https://doi.org/10.1016/j.jpdc.2010.12.006},
doi = {10.1016/J.JPDC.2010.12.006},
timestamp = {Sat, 22 Feb 2020 19:35:25 +0100},
biburl = {https://dblp.org/rec/journals/jpdc/RohJKL11.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/wikis/Grishchenko10,
author = {Victor S. Grishchenko},
editor = {Phoebe Ayers and
Felipe Ortega},
title = {Deep hypertext with embedded revision control implemented in regular
expressions},
booktitle = {Proceedings of the 6th International Symposium on Wikis and Open Collaboration,
2010, Gdansk, Poland, July 7-9, 2010},
publisher = {{ACM}},
year = {2010},
url = {https://doi.org/10.1145/1832772.1832777},
doi = {10.1145/1832772.1832777},
timestamp = {Thu, 28 Nov 2019 10:44:48 +0100},
biburl = {https://dblp.org/rec/conf/wikis/Grishchenko10.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/icdcs/WeissUM09,
author = {St{\'{e}}phane Weiss and
Pascal Urso and
Pascal Molli},
title = {Logoot: {A} Scalable Optimistic Replication Algorithm for Collaborative
Editing on {P2P} Networks},
booktitle = {29th {IEEE} International Conference on Distributed Computing Systems
{(ICDCS} 2009), 22-26 June 2009, Montreal, Qu{\'{e}}bec, Canada},
pages = {404--412},
publisher = {{IEEE} Computer Society},
year = {2009},
url = {https://doi.org/10.1109/ICDCS.2009.75},
doi = {10.1109/ICDCS.2009.75},
timestamp = {Fri, 24 Mar 2023 00:04:19 +0100},
biburl = {https://dblp.org/rec/conf/icdcs/WeissUM09.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/doceng/NedelecMMD13,
author = {Brice N{\'{e}}delec and
Pascal Molli and
Achour Most{\'{e}}faoui and
Emmanuel Desmontils},
editor = {Simone Marinai and
Kim Marriott},
title = {{LSEQ:} an adaptive structure for sequences in distributed collaborative
editing},
booktitle = {{ACM} Symposium on Document Engineering 2013, DocEng '13, Florence,
Italy, September 10-13, 2013},
pages = {37--46},
publisher = {{ACM}},
year = {2013},
url = {https://doi.org/10.1145/2494266.2494278},
doi = {10.1145/2494266.2494278},
timestamp = {Sat, 19 Oct 2019 20:34:48 +0200},
biburl = {https://dblp.org/rec/conf/doceng/NedelecMMD13.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DBLP:conf/group/NicolaescuJDK16,
author = {Petru Nicolaescu and
Kevin Jahns and
Michael Derntl and
Ralf Klamma},
editor = {Stephan G. Lukosch and
Aleksandra Sarcevic and
Myriam Lewkowicz and
Michael J. Muller},
title = {Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types},
booktitle = {Proceedings of the 19th International Conference on Supporting Group
Work, Sanibel Island, FL, USA, November 13 - 16, 2016},
pages = {39--49},
publisher = {{ACM}},
year = {2016},
url = {https://doi.org/10.1145/2957276.2957310},
doi = {10.1145/2957276.2957310},
timestamp = {Sat, 30 Sep 2023 09:42:08 +0200},
biburl = {https://dblp.org/rec/conf/group/NicolaescuJDK16.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{DBLP:journals/concurrency/IgnatAO21,
author = {Claudia{-}Lavinia Ignat and
Luc Andr{\'{e}} and
G{\'{e}}rald Oster},
title = {Enhancing rich content wikis with real-time collaboration},
journal = {Concurr. Comput. Pract. Exp.},
volume = {33},
number = {8},
year = {2021},
url = {https://doi.org/10.1002/cpe.4110},
doi = {10.1002/CPE.4110},
timestamp = {Mon, 28 Aug 2023 21:39:34 +0200},
biburl = {https://dblp.org/rec/journals/concurrency/IgnatAO21.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@software{grove-artifact,
author = {Adams, Michael and
Griffis, Eric and
Porter, Thomas and
Satish, Sundara Vishnu and
Zhao, Eric and
Omar, Cyrus},
title = {{Artifact for Grove: A Bidirectionally Typed
Collaborative Structure Editor Calculus}},
month = nov,
year = 2024,
publisher = {Zenodo},
version = {v1.2.0},
doi = {10.5281/zenodo.14026532},
url = {https://doi.org/10.5281/zenodo.14026532}
}