logoalt Hacker News

inkysigmayesterday at 7:27 AM3 repliesview on HN

One example along this path as an example is that every function must either terminate or have a side effect. I don't think one has bitten me yet but I could completely see how you accidentally write some kind of infinite loop or recursion and the function gets deleted. Also, bonus points for tail recursion so this bug might only show up with a higher optimization level if during debug nothing hit the infinite loop.


Replies

marcosdumayyesterday at 5:04 PM

There is that famous example where when you write an infinite loop last thing in your main, a function that you never called runs instead.

account42yesterday at 9:09 AM

Infinite loop without side effects == program stuck and not responding on user input and not outputting anything. That's not something a useful program will ever want to do.

show 4 replies
1718627440yesterday at 10:04 AM

That's only true in C++ though, not in C.

show 1 reply