sintaxis otherwise functions else haskell naming-conventions

haskell - otherwise - ¿Cuál es el historial de los nombres de variables x y xs?



if else haskell (3)

Estoy tratando de recoger un poco de Haskell, y estoy alternando entre asombro y desconcierto. Una de las cosas realmente alienantes para mí, por más trivial que parezca, es la expresión de emparejamiento de patrones (x:xs) . ¿De dónde vienen esos nombres variables? Podrían ser cualquier cosa (kernel:cob) , (spam:eggs) (inclinar la mano un poco), o - más sensatamente, en mi opinión, (h:t) , significando ''head'' y ''tail'' .

Supongo que el prefijo x es útil para indicar que ambos elementos provienen de la misma lista, entonces (xh:xt) o incluso solo (x:xt) si te sientes especialmente conciso. Pero por qué s ? Qué significa eso? ¿De dónde vino? Siento, en este momento, que saber me ayudaría a sobrellevar mi confusión.

Tal vez estoy pensando en esto de la manera incorrecta; por favor siéntete libre de decirme eso.


Podemos tomar los orígenes de x mucho más atrás, por supuesto :-) François Viète (1540-1603) produjo un libro titulado In artem analyticem isagoge ("Introducción al arte analítico"), que fue el primer trabajo que usó sistemáticamente letras para representar números.

Editar: Porges, a continuación, me señala la muy buena historia de notaciones matemáticas de Cajori. Para mi agradable sorpresa, todo el trabajo está disponible en línea: http://archive.org/details/historyofmathema031756mbp


x es la transcripción europea de la palabra árabe شيء (pronunciar ''chi'', o ''chaï''. o ''tchi'', dependiendo del acento). Esta palabra significa "cosa" o "algo" y fue utilizada por los primeros matemáticos árabes e iraníes como un símbolo para designar un valor desconocido o no fijo en una expresión matemática.

De vuelta a estos tiempos, ''x'' podría haber sido considerado por los traductores y matemáticos europeos como la aproximación más cercana a este símbolo de lo desconocido.


x es un nombre de variable común en matemáticas. xs es la forma plural de x (¿obtenerlo?). En la coincidencia de patrón de lista, x es un elemento y xs es (generalmente) varios.