Saya tidak tahu apakah itu lelucon, tetapi begitu saya membaca apa yang disebut sebagai definisi formal dari file dalam sistem versi seperti git, hg atau svn. Itu sesuatu seperti objek matematika seperti homeomorfisme. Apakah itu lelucon atau benar-benar ada teori ilmu komputer tentang sistem versi dan matematika VCS?
terminology
reference-request
Niklas
sumber
sumber
Jawaban:
Anda memikirkan tweet oleh Isaac Wolkerstorfer (@agnoster) :
Sayangnya, ini hanya lelucon. Seperti yang penulis tulis di Quora :
Ini telah dibahas di Programer Stack Exchange dan di Mathematics Stack Exchange .
Lelucon, ada pekerjaan memformalkan kontrol versi. Salah satu upaya yang mendukung teori dan praktik adalah bekerja pada teori tambalan oleh David Roundy on Darcs . Tujuan utama dari teori ini adalah untuk memodelkan penggabungan dan, khususnya, penyelesaian konflik. The Darcs wiki memiliki pengenalan teori dan beberapa petunjuk serta bibliografi (terawat sehingga usang jika Anda ingin melihat baru-baru ini pada subjek, tetapi tidak daftar kertas survei 2009 oleh Petr Baudis ) dan daftar pembicaraan ( yang mencakup materi yang lebih baru). Ada juga wikibook . Satu makalah mani adalah A Principled Approach to Version Controloleh Andres Löh, Wouter Swierstra dan Daan Leijen3 .
Teori patch memang mengarah ke model kategorikal, yang baru-baru ini dieksplorasi dalam A Categorical Theory of Patches oleh Samuel Mimram dan Cinzia Di Giusto dan Homotopical Patch Theory oleh Carlo Angiuli, Ed Morehouse, Daniel R. Licata dan Robert Harper . Dalam karya Mimram dan Di Giusto, model memiliki file sebagai objek dan tambalan sebagai morfisme. Saya pikir itu membuat menggabungkan cabang sebagai functor - endofunctor jika Anda bekerja dalam repositori tunggal. "Homeomorphic endofunctor" tidak masuk akal bagi saya. Dengan teori homotopy terlibat, submanifold dari ruang Hilbert mungkin tidak begitu jauh ...
sumber
Tentu saja ada formalisme matematika untuk sistem kontrol versi. Ada formalisme matematika untuk hampir setiap algoritma dalam CS. Ada banyak formalisme bagi banyak orang. Tidak ada hubungan 1-1 antara formalisme dan sistem yang mereka modelkan . Model dapat berkisar dari yang sederhana hingga kompleks. Berikut adalah contoh untuk VCS / SCM juga oleh Swierstra, belum dikutip.
SCM juga memiliki banyak kemiripan dengan konsep "paralel universe / timeline" dan perjalanan waktu kadang - kadang digunakan dalam fiksi ilmiah. Ini menangkap keadaan sistem yang berkembang pada waktu yang berbeda atau "snapshots". Ada "cabang" dan "gabungan". Lihat juga garis waktu .
sumber