FOSDEM event "Semantically meaningful S-expression diff"

Arun Isaac

Type devroom

Tree-diff for lisp source code

Starts on day 2 (2021-02-07) at 13:05 (Brussels time, UTC+1) in room Declarative minimalistic (duration 00:20)

Matrix room #declarative minimalistic:fosdem.org

Lisp has a wonderful minimal syntax that almost directly expresses the

abstract syntax tree. Yet, diff and other tooling operate on the unix

newline ending model. When lisp prides itself for its minimal

syntax---code is data---that is easy to parse, why can't we do better?

Traditional diff implementations, such as GNU Diff, treat files as a

flat list of lines. A tree-diff algorithm that can produce minimal and

semantically meaningful output is a surprisingly more difficult and

complex problem. In fact, for unordered trees, the problem is NP-hard.

In this talk, I will demonstrate a very early working prototype of an

S-expression diff program. The program can operate on two versions of

some lisp source code and extract a meaningful tree-diff. The program

aims to replace 'git diff' and related tools for lisp projects.

=> FOSDEM schedule page

Proxy Information
Original URL
gemini://gemini.bortzmeyer.org/fosdem/event-11026.gmi
Status Code
Success (20)
Meta
text/gemini; lang=en
Capsule Response Time
181.653464 milliseconds
Gemini-to-HTML Time
0.327545 milliseconds

This content has been proxied by September (3851b).