Duda sobre funcion not

Duda sobre funcion not

de Matias Sencion Garcia -
Número de respuestas: 4

Buenas, en la parte de Eliminación de chequeos redundantes de booleanos se nombra la función not junto a un comentario sobre esta. No me queda claro si la tenemos que definir nosotros o va a estar dada en algún momento ya que dice que "es una función que asumiremos definida" pero revisando los archivos no logre encontrarla.

Saludos.

En respuesta a Matias Sencion Garcia

Re: Duda sobre funcion not

de Marcos Viera - InCo -
Hola,

Lo que queremos decir es que aunque not no está definida como una primitiva del lenguaje, pueden asumir que es una función que tienen disponible. Entonces al implementar esa sugerencia pueden poner que se aplique una función de nombre "not". Lo mismo pasa con null y map.

saludos
En respuesta a Marcos Viera - InCo

Re: Duda sobre funcion not

de Matias Sencion Garcia -
Gracias por responder, sigo sin entender bien cómo hacer para devolver la sugerencia porque tiene que ser del tipo LintBool Expr Expr y al no tener la función not no puedo construir la sugerencia LintBool e not e y no me deja compilar este Linting. Lo mismo me pasa con el Linting para eliminar el checkeo de la lista vacía.

Saludos
En respuesta a Matias Sencion Garcia

Re: Duda sobre funcion not

de Marcos Viera - InCo -
Hola,

Una expresión como por ejemplo (f 3) se representa con el valor de tipo Expr: (App (Var "f") (Lit (LitInt 3))).
Entonces, de igual manera, si querés un valor de tipo Expr que represente una aplicación de la función "not", tendrías algo de la forma (App (Var "not") ...).

saludos