https://toobnix.org/w/752ix2RNx5BijosuYtSGCv #archive
In about 24 hours from this toot
@oantolin
https://www.matem.unam.mx/~omar/
https://github.com/oantolin/embark
will be on the Tuesday-night-in-the-Americas #lispyGopherClimate on anonradio (archive still https://toobnix.org/a/screwtape/videos ) to talk about

#emacs #embark <edit>

- actually, I am not a user (yet) but I am interested in other #lisp community takes on embark's #DWIM plementation (well known in #interlisp https://interlisp.org/software/using-medley/#getting-started for example). The theme viz @chiply last weekcont.

@oantolin @chiply alright, it is that time!

https://toobnix.org/w/752ix2RNx5BijosuYtSGCv New extended cut archive !

#Live #interview with Omar about #emacs #embark + #lisp ..

#RSS subscribe to the recent #archive https://toobnix.org/feeds/videos.xml?accountId=580185 #peertube ! (I am told "use the peertube app").

#climateCrisis #haiku from @kentpitman and slak of #lambdaMOO . #chat in https://lambda.moo.mud.org/ as always using your favourite #mud client !

#lispGames #springLispGameJam @mdhughes

@nosrednayduj is busy squaredancing tonight.

#Emacs #Embark with Omar Antolin, Ramin Honary and Kent Pitman #lisp and more #interview #lispyGopherClimate

PeerTube
@oantolin
By the way, can one view emacs as having a topological model? Or is this an even worse question than what-are-things-like-climates-like-topologically?
@northernlights @chiply @kentpitman @mdhughes @nosrednayduj

@oantolin
Another thing I didn't get into expanding on was that a lot of your descriptions of mouse useage and menus and what are called in lisp sensitive-inferiors and so forth is that they are I think very similar to classical lisp useages - and besides, embark-DWIM - are you explicitly pulling things out of lisp's history or is it kind of a coincidence or what?

@northernlights @chiply @kentpitman @mdhughes @nosrednayduj

@screwlisp I wasn't explicitly drawing on Lisp tradition, because sadly I'm pretty ignorant of it. But embark-act should be familiar to users of Microsoft Windows or GNU/Linux: both of those operating system have stuff on the screen that you can click on with the mouse to get a menu of applicable actions. On my (Android) phone if I long-press on a thing many apps also offer me a menu of applicable actions. Embark is just a keyboard-driven version of this. (Since this context menu idea is so ubiquitous in computer usage, I confess I'm a little confused about what makes embark feel unfamiliar to people).

I don't know the origin of that UI idea, but it certainly must be significantly older than either Windows or Linux. If I had to guess, my guess would be Smalltalk at Xerox Palo Alto.
@northernlights @chiply @kentpitman @mdhughes @nosrednayduj

@oantolin @screwlisp @northernlights @chiply @kentpitman @nosrednayduj
That's why I linked the Doug Engelbart NLS demo (1968). That's literally where the mouse & on-screen pick-and-edit comes from. Sutherland's Sketchpad (1963) predates that a bit, but ti's purely graphical work.
@mdhughes @oantolin
An easy point of comparison other than smalltalk would be to check out https://online.interlisp.org/user/login (browser VM of 1980s Xerox d-machine heritage interlisp medley) and see what the buttons mice do/did in the 80s. It is very mousy. I guess this was *my* homework to get into again this week already.
@northernlights @chiply @kentpitman @nosrednayduj
Interlisp Online

@mdhughes I don't mean the ability to select text with mouse and then operate on it by typing some command you have memorized, but the menu aspect: you click on a thing and get a popup menu of things you can do to it. I think that came a few years later, at Xerox. I could easily be wrong, maybe I should re-watch the Engelbart demo.
@screwlisp @northernlights @chiply @kentpitman @nosrednayduj

@oantolin As I recall, NLS doesn't have exactly a pop-down box with menu items, but it does open a list of actions in the tree view, more like a modern list-view app. Menus might have been invented at Xerox.

@screwlisp @northernlights @chiply @kentpitman @nosrednayduj

@oantolin @screwlisp @northernlights @chiply @nosrednayduj

I went looking to see how the Bravo editor on the Xerox Alto worked. This video is super-fun.

Xerox Alto Bravo Demo
https://www.youtube.com/watch?v=390hhDkiJFM

Xerox Alto Bravo Demo

YouTube

@oantolin @screwlisp @northernlights @chiply @nosrednayduj

Omar, you'll probably like the example used in this other video, too. I left the time at the right place to see the person demonstrating's use of the "a" command.

https://youtu.be/q_Na1SJXSBg?t=461

Yesterday's Computer of Tomorrow: The Xerox Alto │Bravo Demo

YouTube

@kentpitman Wow, thanks, both of those videos were great! The editor looks so nice! Grabbing text from elsewhere in the document was really cool.

Being modal and having i to insert and ESC to leave insert mode, like vi, surprised me, though in retrospect, I shouldn't have been surprised at all.

@screwlisp @northernlights @chiply @nosrednayduj

@screwlisp
While waiting on their reply, "anything can have a topological model!" -- well, so long as we're talking things with invariants over continuity (note that that includes continuous state spaces), neighborhoods ('nearness' is definable and not too badly behaved), or deformation invariance, and also complexes from gluing such things together.

In your case you probably particularly loved manifolds.

Or something like that. Maybe..

@oantolin @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

It seems to me we ought to have a space first before defining or constructing its topology (or is that approach out of fashion nowadays?).
So, what is an Emacs space and what are its points?

I'd rather listen to other people's suggestions first, and in any case mine are too raw yet.

@dougmerritt @screwlisp @oantolin @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

@vnikolov
Seems logical to me, since going from topology to space is basically creating an example.

@screwlisp @oantolin @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

The Dawn is a friend of the Muses (again).
My intuition (to the extent I have any about topology) whispers "show me a continuum".
Since all possible Emacs states (a superset of all possible Emacs buffer contents) are only countably many, perhaps we ought to look for a continuous topological space that some Emacs space _approximates_.
In our Unlimited Free Time.

@dougmerritt @screwlisp @oantolin @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

A little more food for thought.

Suppose each of our points is the content of an Emacs buffer.
Consider the following distance D between two such points:
the length of a minimal sequence of editing operations that turns one into the other.
Then explore whether D induces an interesting topology.

Some open questions:
Is D well-defined?
(Is it computable?)
Does it define a metric, e.g. does it obey the triangle inequality?
Does this (discrete) construction correspond to some kind of continuum?

I am tempted to _guess_ that the answers are yes (no), yes, yes, but whatever they are, they don't seem quite obvious...

_________
And a variation on that theme by Gamow:
as easy as aleph one, two, three...

@dougmerritt @screwlisp @oantolin @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

@vnikolov
> the length of a minimal sequence of editing operations that turns one into the other.

String rewriting systems are semi-Thue systems, isomorphic to unrestricted grammars, which are Turing complete.
https://en.wikipedia.org/wiki/Semi-Thue_system

@screwlisp @oantolin @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

semi-Thue system - Wikipedia

@dougmerritt

(1) Yes, what is an editing operation in this context is an important question to be settled and it seems to me there may well be multiple options.
At least one of them would involve a Turing-complete system, as you point out, but there may be other simpler options as well.

Then it will be necessary to settle the notion of length, size, or measure appropriately in order to speak of minimality.
Note that

(erase-buffer)
(insert "...half a zillion characters...")

shouldn't be counted as having length or size of just two operations (by the way, compare this example to the metric of French railroads as well).

Yet another problem with distance here is that for a metric, distance must be symmetrical.

(2) And a conjecture to wrap my thoughts up:
the resulting topological space has a finite number of dimensions, and that number depends on the feature set of the available editing operations and the language in which they can be composed.

@screwlisp @oantolin @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

@vnikolov @dougmerritt @screwlisp @oantolin @northernlights @chiply @nosrednayduj

For all its Spartan nature, a Turing machine can test things. TECO has the ability to test. It left a lot of that behind in becoming real time. Instead, for the most part, judgment has been outsourced to the human user. I don't mean to say that there's nothing available, because probably there is. And Turing machines have a way of showing themselves even when the capability is obscure, as at least a theoretical matter. But that's also one reason that Turing machines are not a very good metric.

Maybe something has been done since the time when I use them a lot, but I was surprised at how little support there was for programming in keyboard macros back in the TECO days. The ability was there to do control-x q, which inserts a yes/no query about whether to do the remaining part of the macro. That's extremely important if you're going to iterate the macro because then you can build something like query replace.

I remember making several other suggestions, some of which I implemented and some of which I don't know that were ever implemented.

I wanted to control-x q to be something that allowed me to respond with other than just space, as I recall. Instead with control-r, giving me a recorded excursion into the buffer at this particular point to do an alternate ending to the plot for that iteration. Then it could pop up a menu the next time, or perhaps just use space again but allow me to type m for menu to see the menu that I knew was there because I interactively wrote another option. Then I could iteratively learn a variety of situations as I was making a big code change by hand.

But this is a place where Omar's embark stuff might be interesting. Because it might be able to infer something from where it landed and there might be a way instead of saying control-x q to inject an embark operation, whether one that did prompting, or a dwim one.

In the long ago days, it might have been impractical to save these things across sessions, but an option variable could allow all such macros to be saved in a history, and that history to be reviewed, edited and named, so that later on one didn't have to reteach the same things.

I had an extension on control-x # that would keyboard macro insert a number with a default value probably of one, I could look it up. But the important thing is that you could give it an argument of what the default value was and on the first iteration of the keyboard macro it would use that and on subsequent interations it would bump the value by one. And then you could write something that created a numeric version of a bullet list.

But you could write something that allowed you to say, while defining the keyboard macro, let me mark a region, and then that prompted you for some way of saying whether it was what you wanted. Perhaps you could say it was a certain type that would be useful to embark. Perhaps you could say it was a regular expression that controlled whether to do the rest of the macro or chose which of several branches you had created in the macro. To do the latter you would have to know that the branches were there, so the test would have to be injected in response to the query about whether to do it.

If you were doing it a definition time initially, you would probably want it to prompt you for one branch, and then restore the state back to that branch and prompt you for the other branch and then restore the state back to that and ask you if you were done. Each pattern except for the last would need to match whatever it's associated test was. And if there was more than one branch, you need to present a menu saying which one do you want to do in this case. A variation on this would be to insist that there was only a matching pattern and a non-matching pattern and then that could be executed automatically without a menu.

That last part about prompting for patterns is something I'm just thinking of now, not something I had thought about at the time, but it's in the context of this discussion about editors being Turing machines. They need to be able to ask questions in other words.

Just having the ability to count the number of times you've entered a certain branch seems useful, so you could have a command that counted silently and a companion that retrieved that number into the buffer, or did a test on that. If the place that that number wanted to be stored had a name of some sort, you could have an array of other kinds of names of such things, and things that did various kinds of tests on what was in that storage, like what happens in bash with its various tests. At that point you would have a pretty rich set of testing capabilities and then the rest of this conversation above would make more sense to me.

Of course if you're only talking teco, it was able to substantially, though not completely, introspect and redefine the great deal of itself because such capability was built in.

@vnikolov @dougmerritt @screwlisp @oantolin @northernlights @chiply @nosrednayduj

To put this in context I should say that on the list machine there are commands that I don't think are in emacs. I won't describe them but I'll say their names (from memory and without regard to precise syntax in terms of spaces and dashes because I'm using voice input) and I bet you can figure out if you know emacs what they would probably do.

(Tags search is presumably there in emacs. Tags tables, for those who don't know, are just files full of file names in order to allow you to treat a group of files as a unit, often referred to as a tags table. In effect a kind of virtual directory and the kind of thing that might be comprised of the files in a defsystem or something like that.)

So zmacs had commands like

Multiple Query Replace
Tags Query Replace
Tags Multiple Query Replace
Multiple Query Replace From Buffer
Tags Multiple Query Replace From Buffer

The front buffer ones were ones that took a set of pairs that you didn't have to interactively prompt for but could spend some time setting up because it was really hard to do a large set of things interactively. And it wouldn't parallel offer to do all the replacements at once, allowing you to do things weird and slightly unsafe like replacing x for y and y for x if I recall, because it moved to the cursor and knew which ones had been done and which ones hadn't. Although it was vulnerable to you moving the cursor and messing that up. Still not competing replacements were pretty useful.

And part of the reason I mentioned this is that I did some rather large query places. For example when I inherited the ansi cl draft spec from my predecessor-in-editorship, Kathy Chapman, she had done a substantial amount of reshaping it to look like the modern spec, having started with cltl as the base document, believe it or not. The one thing she retained was that Steele had been more comfortable with the markup language called Scribe that used notations like @Chapter(foo) and i think maybe even @endcapter(foo), and I wanted it to look like TeX. He had made at sign in backslash be synonyms, and use them somewhat interchangeably, so usually one for one task and one for another, not really haphazard. I wanted to at-sign back.

So I set about one day to do a tags multiple query replace from buffer of a variety of notations on the entire specification. My recollection is that it took several days to complete that.

I had similar large experiences with Macsyma, which was 100k lines of code, where I was doing various kinds of conversions. Some of them had to be done structurally but some could be done by simple replacement. So again I used these tools. And in fact I had macros that could do structural rewrites that it would have been great to be able to call if the query harness has supported it. Fortunately for those, I could do them haphazardly and so tags search worked just as well, and I could just leave the possibilities buffer in place so I could stop in the middle of things and go and do other things.

Modern emacs might or might not have the equivalent of a possibilities buffer. It was the generalization of all of these things that create lists of to-do items. I don't know if that's a standard structure now but it was on the list machine. So if you were mapping over several files doing the same operation for example, you could make a possibilities buffer that was the list of the files in the tags table, and it would serve as your file level cursor. If you want to back up by a file you could just move the cursor to a different place in the possibilities buffer and go back and start again from there. It would visit the file in a buffer and use the buffers cursor as its finger in that and so when you said control-dot, I think it was, to resume whatever possibilities related action you were in the middle of it would just go to the current possibilities buffer and it's item's cursor and continue.

Such buffers with number themselves, and you had to prune that after a while. It was not uncommon for me to have 50 or 100 possibilities buffers stacked up because I would get interrupted in the middle of something and start something else and it would keep track of what I'd been in the middle of. And I could go back and generally resume those things later I would check each one to see whether I was still doing that operation and get rid of it otherwise. But it was amazing exercise in keeping track of vast amounts of data.

Tangential:

«Kathy Chapman, she had done a substantial amount of reshaping it to look like the modern spec, having started with cltl as the base document, believe it or not.»

Myself, I have known that for a long time.
For one, it's been mentioned here and there (I couldn't possibly recall exact quotes, though).
For two, it shows in the text, if one looks carefully at some fragments.

«Steele had been more comfortable with the markup language called Scribe»

I think the second edition of _Common Lisp: the Language_ mentions a throwaway program to convert that to TeX.

@kentpitman @dougmerritt @screwlisp @oantolin @northernlights @chiply @nosrednayduj

@vnikolov @dougmerritt @screwlisp @oantolin @northernlights @chiply @nosrednayduj

I don't know if such a program existed at the time, but I know the entire community was depending on me to preserve the integrity of all of their investment. So I wanted to be sure.

There is an analog here to have an llm could probably have volunteer to do it, too, today. And yet too often these discussions turn to capability, when trust is really the thing.

Even in the domain of human language translation, there is this issue. If all you're doing is reading a magazine article, and you know it was done imperfectly, you might tolerate automatic translation. But if you're engaged in diplomacy or design of an airplane wing or faithfully maintaining community records, other values may prevail beyond simply likely correctness.

Even proven correctness is not good enough because you have to believe the preconditions of the proof. For example, if there's a comment that says a piece of code, and that code needs to be converted, you'd have to understand the human language around it to know whether it was saying remove this comment marker to change this or it was saying: a long time ago we used to write x. Where then the x wants to retain its original form under all translations.

Even just something as simple as

(defun foo () ; I have rigorously tested this
...)

If mechanically translated by something that claims to be provably correct, will end up lying.

P.S.
A tiny detail:

Kent Pitman had written:
«Steele had been more comfortable with the markup language called Scribe»

Then I wrote:
«I think the second edition of _Common Lisp: the Language_ mentions a throwaway program to convert that to TeX.»

The latter may have been mentioned in the colophon of the second edition (I think it had one, but I don't have a way to go back to that colophon now).
I don't have any other recollection where I may have seen that.

@kentpitman @dougmerritt @screwlisp @oantolin @northernlights @chiply @nosrednayduj

@vnikolov @kentpitman @dougmerritt @screwlisp @oantolin @northernlights @chiply @nosrednayduj now I’m wondering if this “Scribe” be any resemblance to the “Scribble” language in the Racket world? Likely just an obvious overlap in nomenclature, but it’s enough to pique my interest.

Stuttgart!
Where they put a "my other car is a Mercedes" sticker on a Porsche 🙂.

@kentpitman @tealeg @dougmerritt @screwlisp @oantolin @northernlights @chiply @nosrednayduj

@vnikolov @tealeg @dougmerritt @screwlisp @oantolin @northernlights @chiply @nosrednayduj

Ha. Around 1990 or so, Volkswagen had car commercials that all centrally featured the word "Fahrvergnügen" as a way of summing up their pride in German engineering. I was working with people from Germany and, since we didn't have Google translate back then, it occurred to me to tell one of them about the commercials and ask what the word actually meant. They laughed and said "Well, it means 'driving enjoyment' ... but we usually associate that more with Mercedes."

https://www.youtube.com/watch?v=neirGvoH5n4

VW TV Advertisements - Fahrvergnügen (1990s Water Cooled era)

YouTube
@kentpitman @vnikolov @dougmerritt @screwlisp @oantolin @northernlights @chiply @nosrednayduj those views about VW vs Mercedes, etc. have a certain regional vibe (though, of course, Mercedes, Porsche and BMW are generally perceived as more luxurious than VW).
@kentpitman @vnikolov @dougmerritt @screwlisp @oantolin @northernlights @chiply @nosrednayduj also, this advert made me feel much better about my own German skills ;-)

Three things you or may not have heard before
(in reverse chronological order, from memory):

When Kraftwerk issued an English-language version of their early hit Autobahn, "fahren" ("drive") became "fun":
"Fun, fun, fun on the Autobahn."

The original Volkswagen (the "beetle") was designed by the third Porsche.

An Austrian-Hungarian royal once visited the factory of the first Porsche.
Maybe it was the Erzherzog himself.
He wanted to show that he understood engines, and said:
"This is a _four_ stroke engine, isn't it?"
"Yes."
"Then why does it have _six_ cylinders?"
Porsche didn't blink an eye:
"Four working and two spare."

@tealeg @kentpitman @dougmerritt @screwlisp @oantolin @northernlights @chiply @nosrednayduj

@vnikolov @dougmerritt @screwlisp @oantolin @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

The space is editors. Editors map sequences of key strokes or mouse movements to text.

Emacs is therefore a set of such mappings, with different Emacses roughly distinguished by different configuration files. One Emacs may be transformed into another by altering the set of modules loaded and key-mappings defined. I’m not sure how to talk about continuity, here.

Note that vi and vim become points in the Emacs space as shown by the existence of things like the vile package that makes Emacs behave like those editors.

I am wondering if multiple buffers adds a dimensionality to this space.

Or maybe editors plus configuration form systems for transforming one text into another, and that’s how to think about it.

@lain_7
Your language here reminded me of the art of the metaobject protocol.
@vnikolov @dougmerritt @oantolin @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

«... reminded me of the art of the metaobject protocol»

What the world needs is a good five-cent metatopology™.

@screwlisp @lain_7 @dougmerritt @oantolin @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

@dougmerritt

Thank you!

This delightful field "should have been my constant study."
(I did try to learn a bit about Homotopy Type Theory once...)

@screwlisp @lain_7 @oantolin @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

@vnikolov I hope I don't offend anybody too much, but I think n-categories really only pull their weight for n = 1, 2 and infinity. I'm a huge fan of infinity-categories but find 3-categories not really worth the complexity most of the time. (I wrote a survey of infinity-category theory when I was in grad school: https://www.matem.unam.mx/~omar/papers/infinity-survey.pdf)

I also like homotopy type theory quite a bit, though I haven't yet published any papers on that topic. I do have a PhD student working on some stuff in HoTT, so unless things go terribly wrong well have something ready in a couple of years.

@dougmerritt @screwlisp @lain_7 @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

@oantolin

Thank you.
You are right, of course, that I should learn more about category theory.

I wish you success in both endeavors, working in the field and seeing your doctoral student through to a successful defense.

@dougmerritt @screwlisp @lain_7 @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

@oantolin
> I think n-categories really only pull their weight for n = 1, 2 and infinity.

That's not an uncommon opinion, it's just that then you miss out on the rhyme in titles like
"One Two Three...Infinity"

(George Gamow, 1947, still in print as of 2020)
https://en.wikipedia.org/wiki/One_Two_Three..._Infinity

It's aimed at a lay audience, but still, that rhyme...

This is the same author that famously/infamously added Bethe as a spurious coauthor just so that it would be by "Alpher, Bethe, Gamow"

Edit: poor phrasing: the above book is by just Gamow. The 3-author thing is about a paper:
"The Origin of Chemical Elements"; April 1948; Physical Review. https://en.wikipedia.org/wiki/Alpher%E2%80%93Bethe%E2%80%93Gamow_paper

https://en.wikipedia.org/wiki/George_Gamow

@vnikolov @screwlisp @lain_7 @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

One Two Three... Infinity - Wikipedia

@dougmerritt "One Two Three...Infinity" was the book which got me interested in mathematics as a child. @oantolin @vnikolov @screwlisp @lain_7 @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

@vnikolov @dougmerritt @screwlisp @oantolin @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

CW: here there be bullshit.

So, an editor is a mapping from (text, keystroke, mouse) to text.

But the Emacs is itself a collection of mappings, with key-bindings and elisp functions serving as operations (?) on each mapping, transforming one into another.

At this point, someone smarter than me will point out that I should be bringing up the category theory I never learned. Emacs isn’t just a set of transformations of text transformations, it’s reflective. Elisp code can inspect and rewrite the very keymaps and function bindings that will later interpret elisp code. The environment contains representations of itself. It is reflective. Perfectly natural, hello, Lisp.

Someone smarter than me will identify this as a well known topological/categorical structure.

Um, maybe it’s noodling in the fields of reflection that reminds you of *The art of the metaobject protocol*.

@vnikolov @dougmerritt @screwlisp @oantolin @northernlights @chiply @kentpitman @mdhughes @nosrednayduj

…. maybe its time to bring up combinatorial game theory? The transformations of one emacs into another can be seen as moves in a game?

ETA: in CGT, the games are adversarial, so: different framework.

@screwlisp @nosrednayduj @mdhughes @kentpitman @chiply @northernlights I don't really see how to relate Emacs specifically to some sort of topological space that somehow captures essential features of emacs (what would the points be?, when is a point near a set of other points?), but I will point out that topology can be used to study computer programs! My colleague Sergio Rajsbaum¹, for example, uses topological methods to analyze distributed algorithms. He wrote a book² with Maurice Herlihy and Dmitri Kozlov on the topic.

¹ https://www.matem.unam.mx/~rajsbaum/
² https://www.sciencedirect.com/book/monograph/9780124045781/distributed-computing-through-combinatorial-topology

Sergio Rajsbaum's Home Page

@oantolin @screwlisp @nosrednayduj @mdhughes @kentpitman @chiply @northernlights

That’s a great book! Herlihy, a leading light in distributed algorithms, explains how you can talk about a protocol as a continuous transformation on simplicial complexes.

Each vertex of the collection represents a (node, state) pair. An asynchronous message arrival creates more (node, state*) pairs, but in an additive sense (the old/original state persists in the collection, too, because the message maybe just hasn’t arrived yet).

A CGI analogy: a message arrives, and the vertex turns into more polygons, the image gets more detailed. But! “more detailed” has a couple of constraints: you don’t see a hole that wasn’t there before, and a void that was there doesn’t get filled in, and a gap or crack doesn’t appear between your new polygons. The topological structure doesn’t change.

So: basically, you produces impossibility proofs by showing that the starting algorithmic state represents one structure (a connected one, for example) and the end state represents a different structure (disconnected). There’s no set of transformations (corresponding to messages) that can get you from one structure to the other.

This turns the states reachable by distributed algorithms into topological structures, and algebraic topologists have all kinds of tools to help you.

@screwlisp
> Incredible notes.

Maybe I'm clicking wrong, or maybe I'm just obtuse, but what are you referring to?

@northernlights @oantolin @chiply @kentpitman @mdhughes @nosrednayduj

@dougmerritt
Well on one hand it is an interesting foray into Engelbart, and on the other hand there is the musical parody by an @SDF local.
@northernlights @oantolin @chiply @kentpitman @mdhughes @nosrednayduj