-
-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
within + count no cuenta llamadas recursivas #345
Comments
Gracias 😄 La respuesta rápida es que no, no es un "bug" (si bien estamos de acuerdo en que no es el el comportamiento más feliz), dado que esto es así por diseño: las expectativas de Mulang siempre empiezan a analizarse en el propio nodo del AST y no en sus descendientes, y por eso cuando usás ciertos predicados (en este caso, estás usando implicitamente el predicado mulang/src/Language/Mulang/Analyzer/EdlQueryCompiler.hs Lines 39 to 50 in 6c04e3e
En otras palabras, con la implementación actual, el "hack" que propusiste es la forma de implementar este chequeo. Cambiar este comportamiento es trivial, pero tiene un impacto profundo que podría generar ambigüedad en ciertas expectativas, como por ejemplo:
Esto hoy en día se interpreta como si hay una declaración de función dentro del contexto de la declaración de |
En este código:
se cumple la expectativa
within 'a' count(calls) == 0
y no debería, porque las calls deberían ser 1.¿Quizás está relacionado con #334 ?
Es por eso que acá tuvimos que hacer la chanchada de hacer
within 'a' count(calls) + count(calls 'a')
para que diera el valor verdadero.(por cierto QUE GROSO que tenga esas expresiones, el EDL es posta increíble) 👏 👏 👏
The text was updated successfully, but these errors were encountered: