Hacker News new | ask | show | jobs
by GuiA 4342 days ago
The table at the bottom is interesting. I'd love to read articles about why it's impossible in language X. E.g. I'm familiar with C/Python and can implement a solution, and am surprised that it'd be impossible in Ruby - I don't know Ruby, and would love to know why.

More generally, what properties must a programming language satisfy for this problem to be solvable in it?

My current intuition is that if a language does not denote function calls with () enclosing arguments, AND if a language does not support metaprogramming (eg. LISP macros), then the problem is not solvable in it. Still thinking about it.

2 comments

Ruby and Java both lack first class functions--functions can't return values that can be directly called with () (unless this has changed with Java 8?).
For the impossible bullets, they link to informal arguments as to why it's impossible. The ruby one has code - it's a syntax error.
The bullets link to non-solutions, which are not enough to formally prove that it is impossible to solve this challenge in the language.
Agreed. These are informal. If you want to make a formal proof that it's impossible, I'll make a new category.