Estoy leyendo sobre LISP.
Entiendo cómo funciona la notación de prefijos en cierto nivel, pero me preguntaba si hay algún truco para hacerlo intuitivo.
Estoy leyendo sobre LISP.
Entiendo cómo funciona la notación de prefijos en cierto nivel, pero me preguntaba si hay algún truco para hacerlo intuitivo.
Respuestas:
Leerlo mentalmente de izquierda a derecha como lenguaje hablado con los verbos adecuados puede ayudar. Por ejemplo (+ 3 2) podría ser "agregar tres y dos". En el caso más general, puede decir "realizar $ operación en $ operandos". Aplicado al mismo caso: "Realizar la operación de agregar en tres y dos".
( = 1 2 )
y?( > 4 2 )
¿Trucos? ¿Para qué?
Todavía no te parece intuitivo porque tu analizador mental no está acostumbrado. Mejorará si lo usa y lo lee una y otra vez.
Podrías pensarlo como una especie de llamada de función:
(operator operand1 operand2 ...)
No hay nada muy especial al respecto. Si sobrecarga los operadores en C ++ (y muchos otros lenguajes que lo permiten), a menudo tiene que definir este tipo de función exactamente de esa manera:
MyClass operator+(MyClass const& x, MyClass const& y);
Muchos idiomas usan una combinación de prefijo, infijo e incluso postfix.
Lisp solo usa el prefijo, por defecto. Si sin (x) es intuitivo de las matemáticas, entonces (sin x) no está muy lejos. Si mover (perro, hogar) es una llamada de procedimiento tradicional, entonces en Lisp es solo (mover perro a casa).
Lisp no hace ninguna excepción para las matemáticas y trata +, -, * y otros como las llamadas a funciones ordinarias.