Create a tail call diagnoser
See original GitHub issueThe implementation should mirror the InlineDiagnoser
pretty closely, but use the facilities for hooking into JIT Tail Call optimization events. These events are described on MSDN and referenced below.
This diagnoser would be extremely helpful for developers of F# code to verify that returns that are function calls are properly in tail position or that recursive functions are properly tailed as well.
Issue Analytics
- State:
- Created 7 years ago
- Reactions:3
- Comments:8 (8 by maintainers)
Top Results From Across the Web
Tale about the tail call in dotnet - George Plotnikov
Thanks to Wiki: “In computer science, a tail call is a subroutine call performed as the final act of a procedure. If a...
Read more >Tail-call elimination
We introduce a constraint that the operand to return goto shall be a tail-call. A diagnostic must be issued if the request to...
Read more >How Tail Call Optimization Works
Tail calls are not eliminated; rather it is ensured that a function call in tail position is a tail call. This is a...
Read more >Using Reflector to diagnose tail call optimization in F# - ...
Just to develop a bit on tail-call, the idea is basically that if there are no pending operations, then there's no need to...
Read more >Getting tail call optimization in mutual recursion in Scheme
Diagnostics. Is there any way one can tell the functions were indeed optimized for mutual tail recursion by Scheme compiler/interpreter.
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
@GeorgePlotnikov big thanks for doing this! I checked your new diagnoser and it work very well!
Fixed by #573 and #598
@GeorgePlotnikov Great! Please let me know if you need any help.