But what we call an ‘interpreter’ in finally tagless works exactly as an interpreter does, observationally.

In other words, I think your definition of what an interpreter is, is too narrow.

]]>Seeing this I’m asking myself If I know anything that really is proof by contradiction, in the sense that there is no translation to proof of negation. Or even there is something that really only can be proved using proof by contradiction and has been showed that is the only way (seems to be a really hard thing to show).

I know some proofs that uses LEM, but I don’t see how can it be translate to a proof by contradiction.

]]>If it’s just a “programming language”, than it seems to at least make it

From elsewhere

]]>Or there being monads at all in Haskell. Haskell added nothing that was not already present in Algol 60, apart from bald pretension.

It has a polymorphic type system and higher-order functions (I believe Algol 60 did not have closures). I’m not sure how to charitably interpret this statement, without concluding this is boring internet-comment flaming.