Seperti yang ditunjukkan oleh Martin , ada beberapa pekerjaan pada representasi kategoris tambalan. Mimram dan Di Giusto "A Categorical Theory of Patches" menjadi pendekatan kategorikal paling luas untuk mengedit-skrip seperti yang digunakan oleh UNIX diff
.
L.A : [ n ] → L[ n ]nA : [ n ] → LB : [ m ] → Lf: [ n ] → [ m ]. Suntikan dan peningkatan ada untuk menunjukkan bahwa salinan tidak pernah saling silang . Anda dapat menemukan semua detail di atas kertas .
Ya, penggabungan dianggap sebagai tekanan pada pelengkapan gratis dari kategori di atas. Kami membutuhkan penyelesaian untuk memastikan kami menambahkan konflik penggabungan pada konstruksi kami. Bukan kasus penggabungan selalu ada.
Terhadap pertanyaan kedua Anda, tidak ada gagasan pasti tentang naskah edit minimal karena dua alasan utama.
Edit-skrip datang dalam segala bentuk dan bentuk. Beberapa penulis mempertimbangkan penyisipan, penghapusan, dan salinan, beberapa penulis juga ingin menambahkan substitusi sebagai operasi. Ketika Anda menggeneralisasi dari string ke pohon, maka, sejumlah operasi lain menjadi layak.
a bb a
Ada banyak pekerjaan menggeneralisasi skrip edit ke pohon. Ini telah dipecah menjadi dua bagian utama:
Untyped Trees : Pikirkan ekspresi-s saja. Jarak edit pohon antara dua pohon adalah string-edit-jarak antara preorder traversal dari pohon tersebut. Anda dapat memeriksa beberapa daftar pustaka oleh Demaine et al. atau Pawlik dan Augsten , misalnya.
Typed Trees : Patches over Abstract Syntax Trees yang dijamin dapat menjaga ketikan-baik objek, yaitu menerapkan patch akan selalu menghasilkan AST yang valid. Di bawah payung yang diketik, ada sedikit operasi edit yang dapat dipertimbangkan. Pergantian, misalnya, tidak masuk akal. Namun demikian, ada perbedaan pada traversal preorder pohon oleh Lempsink et al. , yang kemudian diperpanjang oleh Vassena . Saat ini saya fokus pada pendekatan yang menjauhkan diri dari mengedit skrip untuk masalah yang saya tunjukkan sebelumnya, seperti karya terbaru kami atau beberapa karya sebelumnya yang mencoba mengambil keuntungan dari struktur tipe nilai yang "ditambal".
Dalam salah satu dari kasus-kasus itu saya belum melihat interpretasi kategoris yang teliti terhadap tambalan-tambalan terstruktur pohon.