¿Son las ramas de Git, de hecho, "endofunctores homeomórficos que mapean submanifolds de un espacio de Hilbert"?

51

Como todos sabemos:

Git se vuelve más fácil una vez que comprendes que las ramas son endofunctores homeomórficos que mapean submanifolds de un espacio de Hilbert

Lo que parece una jerga, pero por otro lado,

En total, una mónada en X es solo un monoide en la categoría de endofunctores de X, con el producto × reemplazado por la composición de endofunctores y la unidad establecida por el endofunctor de identidad.

Es gracioso porque es verdad .

¿Puedo evitar unir errores al leer este texto simple ?

Larry OBrien
fuente
99
Como entusiasta del git y alguien que tiene una maestría en matemática aplicada, sospecho que la respuesta es "No".
joshin4colours
1
Parece que alguien intentó leer un libro de matemáticas, pero falló.
tp1
11
No entiendo por qué las personas votan para cerrar sobre la base de que lo que estoy pidiendo no está claro. Estoy preguntando si la frase que cité es objetiva. (La frase que cité está muy extendida, como puede confirmar con Google.)
Larry OBrien
2
lectura recomendada: Discuta esto $ {blog}
mosquito
55
Una vez que ha pasado algún tiempo tratando de obtener el significado de esa frase, Git realmente podría parecer comparativamente más fácil de entender que antes ...
stakx

Respuestas:

63

Es un chiste, que se basa en el chiste de la mónada, pero sin obtener realmente el chiste de la mónada.

El chiste de la mónada es divertido en tres niveles:

  1. trata de explicar la jerga matemática abstracta con aún más jerga matemática, que es aún más abstracta
  2. sin embargo, la explicación es correcta
  3. y una vez que profundice en la teoría de categorías, comenzará a ver a las mónadas como "solo un monoide en la categoría de endofunctores"

Lo de Git, sin embargo, es un galimatías aleatorio. Está destinado a parecerse al chiste de la mónada, y también podría ser un golpe para la teoría del parche de Darcs, pero fundamentalmente, la persona que hizo el chiste no entendió el chiste de la mónada.

Fuentes:

Este es el tweet original que contiene la cita :

Wil Shipley (@wilshipley) : Dios mío , odio a Git.

Isaac Wolkerstorfer (@agnoster) : @wilshipley git se vuelve más fácil una vez que se tiene la idea básica de que las ramas son endofunctores homeomórficos que mapean submanifolds de un espacio de Hilbert.

Y este es un comentario sobre Quora del autor original del tweet :

Para confirmar lo que dijo Leo, fue una broma. [...]

Fue pensado como firmemente irónico. De hecho, me encanta Git, y creo que su complejidad es exagerada. Al mismo tiempo, simpatizo con el hecho de que los consejos de los git gurús a los novatos pueden terminar sonando como galimatías inescrutables.

No tiene la intención de tener un significado más profundo. [...]

El Leo al que se refiere es otro que responde en el mismo hilo, un matemático, que básicamente explica por qué eso no tiene sentido. (Los espacios de Hilbert son continuos, los parches y las ramas son discretos).

También explica que se inspiró en esta publicación de blog (Una guía para GIT usando analogías espaciales) , que en realidad tiene sentido.

Jörg W Mittag
fuente
15
Eso es decepcionante.
Larry OBrien
3
@amon: Agregué una cita del autor de esa broma, en la que explica que cualquier sentido que esa declaración pueda tener es pura coincidencia: "Los intentos de analizarlo de esta manera deberían ser inútiles, pero debido a un error en la realidad, usted en realidad puede hacer que cualquier enunciado suficientemente ondulado a mano se ajuste lo suficiente "
Jörg W Mittag
1
1 de discreta vs razonamiento continua para descartar por qué esta afirmación es incorrecta :)
joshin4colours
99
Siempre he asumido que el autor de la broma entendió la broma de la mónada, pero que intencionalmente descendió al galimatías como una parodia. Una de esas cosas que comienza plausible y se vuelve cada vez menos constante hasta que solo al final puede estar seguro de que es un galimatías. Parece poco caritativo concluir que no entendió el chiste de la mónada.
psr
1
Puede encontrar esta explicación git bisect útil para explicar el chiste. Tenga en cuenta el autor.
8

Es una broma, como lo confirma el autor y la respuesta de Jörg W Mittag lo explica con más detalle.

Pero la verdad puede ser más extraña que la ficción ...

Ha habido un trabajo de formalización del control de versiones, en particular la teoría de parches de David Roundy, que es la base de Darcs (un sistema de control de versiones distribuido que precedió al Bazar, Git y Mercurial más populares por un par de años, pero nunca alcanzó su popularidad). El objetivo principal de la teoría es modelar la fusión y, en particular, la resolución de conflictos. El wiki de Darcs tiene una introducción a la teoría y algunos consejos, así como una bibliografía (sin mantenimiento, así que está desactualizado si desea una visión reciente sobre el tema, pero contiene una encuesta de 2009 de Petr Baudiš ) y una lista de charlas ( que incluye material más reciente). También hay un wikibook . Un artículo seminal esUn enfoque basado en principios para el control de versiones por Andres Löh, Wouter Swierstra y Daan Leijen3 .

La teoría del parche conduce a un modelo categórico, que ha sido explorado más recientemente en A Categorical Theory of Patches por Samuel Mimram y Cinzia Di Giusto y Homotopical Patch Theory por Carlo Angiuli, Ed Morehouse, Daniel R. Licata y Robert Harper . En el trabajo de Mimram y Di Giusto, el modelo tiene archivos como objetos y parches como morfismos. Creo que eso hace que la fusión de una rama sea un functor, un endofunctor si está trabajando en un único repositorio. "Endofunctor homeomórfico" no tiene sentido para mí. Y con la teoría de la homotopía involucrada (un concepto de cálculo, esa es la rama de las matemáticas que estudia cosas como múltiples y espacios de Hilbert) que recientemente se ha aplicado a un modelo fundamental de matemáticas llamadoteoría del tipo de homotopía ), los submanifolds de un espacio de Hilbert podrían no estar tan lejos ...

Gilles 'SO- deja de ser malvado'
fuente
Además, Darcs está escrito en Haskell, por lo que está construido sobre mónadas. :-)
Wyzard --Detener Dañar a Mónica--