Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
You can fairly easily spot things like recursive search tree implementations in the wild.
Also, compilers and interpreters often recursion, and that goes to as many levels as the program requires.
Have you heard of a "recursive descent parser"? GNU C++ uses one (a huge source file written in C++, well over a megabyte long). This will recurse as deeply as the program's nesting goes; C++ programs often go to more than three levels of nesting. (There are some non-recursive hacks mixed in there, like some operator precedence parsing involving an explicit stack: Shunting-Yard or similar?)
https://github.com/gcc-mirror/gcc/blob/master/gcc/cp/parser....
Let's switch over to embedded. Have you heard of BusyBox? BusyBox provides scaled down system utilities for embedded systems. It is very widely used.
BusyBox's "libb" internal library contains a function called "recursive_action" for walking file system trees. This is actually recursive, and frequently goes more than three levels deep in actual use:
https://github.com/brgl/busybox/blob/master/libbb/recursive_...
This is used by BusyBox programs like mdev (udev replacement) lsusb, lspci, chmod, ...
Also, HN isn't a good place to exhibit Lisp condescension/ignorance.
You can fairly easily spot things like recursive search tree implementations in the wild.
Also, compilers and interpreters often recursion, and that goes to as many levels as the program requires.
Have you heard of a "recursive descent parser"? GNU C++ uses one (a huge source file written in C++, well over a megabyte long). This will recurse as deeply as the program's nesting goes; C++ programs often go to more than three levels of nesting. (There are some non-recursive hacks mixed in there, like some operator precedence parsing involving an explicit stack: Shunting-Yard or similar?)
https://github.com/gcc-mirror/gcc/blob/master/gcc/cp/parser....
Let's switch over to embedded. Have you heard of BusyBox? BusyBox provides scaled down system utilities for embedded systems. It is very widely used.
BusyBox's "libb" internal library contains a function called "recursive_action" for walking file system trees. This is actually recursive, and frequently goes more than three levels deep in actual use:
https://github.com/brgl/busybox/blob/master/libbb/recursive_...
This is used by BusyBox programs like mdev (udev replacement) lsusb, lspci, chmod, ...
Also, HN isn't a good place to exhibit Lisp condescension/ignorance.