-
Notifications
You must be signed in to change notification settings - Fork 1
Do not allow capabilities when parsing #201
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
base: main
Are you sure you want to change the base?
Conversation
|
Come to think of it, do we actually anywhere (in |
|
|
Note that I said:
|
|
So, for example this: https://github.com/fmidue/logic-tasks/blob/892db4aae14d5b71f5337e14a631b589e5a9ca13/flex/composeFormula.flex#L143-L148 seems to dispute one of your assertions. |
|
Oh sorry. The syntax check seems to be vanilla OutputCapable in all flex-tasks at the moment. So should this be changed to run in Identity as well? |
|
More invasively, maybe, the (Indeed, on a conceptual level, one could say: The syntax checks should be things that in principle could happen on the client side, with form verification / JavaScript. So indeed, they should not have access to files, IO command execution etc.) |
|
An error could be thrown during parsing if But I think you didn't mean that, but rather some way to communicate the |
|
Yes. In any case, sooner or later the type checker would tell us about our wrong assumption if we now go with |
…anual (also some outdated info here)
| semRes <- getOutputSequenceWithRating (parseRes $>>= sem) | ||
| pure (synRes, Just semRes) | ||
| semanticsResult <- getOutputSequenceWithRating $ sem a | ||
| pure (Just semanticsResult) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To stay in the picture/nomenclature, shouldn't semanticsResult now be called semanticsResultAndOutput? (Or this variable simply be avoided completely by using <*> instead of the last two lines.)
|
I replaced the case now after all, because it is no longer confusing the reader by ignoring the function's argument. |
This now runs in the Identity Monad. Afterwards the checks continue in IO.