Python usa muy bien la sangría para definir sintácticamente bloques de código. (Ver declaraciones compuestas en la Referencia del lenguaje Python). Después de años de usar Python, todavía estoy intrigado y muy aficionado a esta función de sintaxis.
Pero me pregunto: además de Python y su lenguaje "predecesor" (*) ABC, ¿ qué otros lenguajes de programación están usando sangría para la definición de bloques de código ? Bloques de código significa aquí "declaraciones múltiples que de alguna manera se tratan como un componente".
Estoy particularmente interesado en lenguajes de programación prácticos , pero también vale la pena mencionar los lenguajes esotéricos .
(*): " Predecesor " es mi elección de palabra en defecto de saber aquí una mejor. Guido van Rossum, el creador de Python, describió la relación entre Python y ABC con respecto a la sangría en una entrevista como esta: " La elección de la sangría para la agrupación no era un concepto novedoso en Python; heredé esto de ABC " .
fuente
Respuestas:
Wikipedia tiene una extensa lista de idiomas que usan la regla de fuera de juego 1 :
1: Nunca he escuchado este término antes que yo.
fuente
Hay: Elm , Haskell , su predecesor Miranda y su predecesor ISWIM , YAML donde los espacios son cruciales para la sintaxis y las fichas están prohibidos, OCCAM , coffeescript y Cokescript tanto son lenguaje para compiladores de lenguaje con JavaScript como objetivo y esotéricos espacios en blanco .
También está Agda , un probador de teoremas interactivo, que probablemente no sea lo que tenía en mente, pero su lexer es muy sensible al espacio en blanco.
Makefile , que reúne objetivos con intenciones basadas en tabulaciones.
fuente
(x-y)
no lo es(x - y)
) aunque no sea lo suficientemente "práctico" para el OP.Maquillaje se adapte a su descripción, a pesar de que probablemente no es exactamente lo que tiene en mente, con su sintaxis y limitada de energía.
Es infame indica sus bloques de código ( recetas ) con una forma particular de los espacios en blanco: un carácter de tabulación. Hay formas alternativas disponibles (por ejemplo, GNU Make admite el uso de un carácter alternativo ), pero rara vez se usa en la práctica.
Otro ejemplo flotando en el borde son los libros de jugadas de Ansible . Se especifican en YAML , que depende en gran medida de la sangría. YAML no es un lenguaje de programación, pero los libros de jugadas de Ansible pueden considerarse como programas específicos de dominio.
fuente