question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Create a tail call diagnoser

See original GitHub issue

The 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:closed
  • Created 7 years ago
  • Reactions:3
  • Comments:8 (8 by maintainers)

github_iconTop GitHub Comments

2reactions
adamsitnikcommented, Dec 4, 2017

@GeorgePlotnikov big thanks for doing this! I checked your new diagnoser and it work very well!

Fixed by #573 and #598

1reaction
adamsitnikcommented, Oct 29, 2017

@GeorgePlotnikov Great! Please let me know if you need any help.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found