When debugging a higher-order function, a method that takes a function as parameter, it would be very useful to inspect the value of the function argument as code.
In the above example, I am debugging a higher order function mapconserve. In the variable view of the debugger I can see the variable f but I cannot see where it was created and what is its implementation.
The goal of this project is to find and display more information about function variables:
jump to where it was defined
find the definition tree in TASTy and print it
Supervisor
Adrien Piquerez(adrien.piquerez@epfl.ch): Tooling Engineer at the Scala Center
Expected Outcome
Explore the feasibility of this feature: does the JVM expose enough information to implement the feature: target class, and target method of the lambda?
If feasible implement the feature in the scala-debug-adapter, and cover with unit tests.
Explore different ways to show the function definition to the user: clickable path to the source definition, formatted tree...
Hello,
I would be interested in doing this as a bachelor project next semester (spring).
What would be the conditions to apply ?
Greetings,
Fabrice Saucy (fabrice.saucy@epfl.ch)
Summary
When debugging a higher-order function, a method that takes a function as parameter, it would be very useful to inspect the value of the function argument as code.
In the above example, I am debugging a higher order function
mapconserve
. In the variable view of the debugger I can see the variablef
but I cannot see where it was created and what is its implementation.The goal of this project is to find and display more information about function variables:
Supervisor
Adrien Piquerez(adrien.piquerez@epfl.ch): Tooling Engineer at the Scala Center
Expected Outcome
Explore the feasibility of this feature: does the JVM expose enough information to implement the feature: target class, and target method of the lambda? If feasible implement the feature in the scala-debug-adapter, and cover with unit tests. Explore different ways to show the function definition to the user: clickable path to the source definition, formatted tree...