-
Notifications
You must be signed in to change notification settings - Fork 25
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
Reducer: Return the locations of runtime errors #763
Comments
Run time errors will not be on the current small piece of code running. Most of the time they will happen inside sth passed by bindings. Therefore it is impossible to report correct location with bindings based running. Positions in the parse tree has to be (file, line, column) for correct reporting. I am suggesting creating a virtual filespace.
Virtual file space brings other future advantages because instead of code snipped the whole project is visible to the language.
Then those building commands can be made available easily fileSpace
Cheap workaround without doing is that I add filename parameter to everything and its your business to make sure that we are talking about and displaying the right "filename" on an error or while debugging. Or even the filenames are unique. But because of optimized runtime, precompilation, filename uniqueness, static type analysis, non-hack imports, etc. I prefer a virtual fileSpace. A fileSpace will also be the closed boundary project that is compiled, analizedd and run . For many things to happen we need the files and the dependency graph of the files, to do all things that are possible in all the other languages. Also having the project which the fileSpace, enables a consistent definition of external tools for the language. On the current Reducer interface errors will not have locations because they are happening somewhere else. My proposal is that first doing project fileSpace collaboratively. Then we can switch over in 2 steps.
|
On creating the simplest project data type, |
@umuro can you also make evaluate2 async? Even if you don't make runs interruptible yet, it'd be better not to change call signature again when that feature arrives. |
The text was updated successfully, but these errors were encountered: