Programming Puzzles

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • PythonProgrammingPuzzles

    A Dataset of Python Challenges for AI Research

  • gcc

  • 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.

  • 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.

    WorkOS logo
  • busybox

    The Swiss Army Knife of Embedded Linux - private tree (by brgl)

  • 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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts