Title may be hard to understand, so an example:

If a language claim to have a busy beaver function BB:unsigned int -> double, and works fine(always return Infinity when input is a bit larger and output exceed 1e+310), can we use it as one?

  • \$\begingroup\$ When/Why would you need to use such a function? \$\endgroup\$
    Nov 20, 2018 at 4:33
  • \$\begingroup\$ @user202729 Designed maybe for fun and used to generate a large number \$\endgroup\$
    – l4m2
    Nov 20, 2018 at 7:18

1 Answer 1



Languages are defined by their implementations. If the implementation doesn't work, the feature doesn't exist.

  • \$\begingroup\$ So what's the line it differs to large memory request but without so many address wire? \$\endgroup\$
    – l4m2
    Nov 19, 2018 at 18:05
  • 2
    \$\begingroup\$ They would work if there was more memory; lack of memory isn't the implementation's "fault". In contrast, if the program required an infinite amount of memory, it should be considered invalid. \$\endgroup\$
    – Dennis
    Nov 19, 2018 at 18:08
  • \$\begingroup\$ No they need more address \$\endgroup\$
    – l4m2
    Nov 19, 2018 at 18:38
  • 1
    \$\begingroup\$ That's still just a hardware/OS problem. \$\endgroup\$
    – Dennis
    Nov 19, 2018 at 20:15
  • \$\begingroup\$ Consider C for example, it can only address 2^32 bytes in memory. If we move it to a 64 bit machine, it can access more than 4GB but can be considered a different implementation. \$\endgroup\$
    Nov 20, 2018 at 5:16
  • \$\begingroup\$ Another problem is that Busy Beaver is calculatable with enough(but not infinite) resource \$\endgroup\$
    – l4m2
    Dec 2, 2018 at 23:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .