Haskell has got to be by far the least readable language in the world, all of that is incomprehensible
def main():
x = 2
[x] = ["foo"]
y = 3
[y] = ["bar"]
print(x + y)
Seems about the same level of comprehensibility to me. Is there anything in particular you find difficult to understand?The second example is expanded out and not how a person would normally write it, but if you're familiar with the basic concepts it's using, it shows why it works very clearly; think of it like assembler.
x = 2
x = "foo"
[y] = [3]
[y] = ["bar"]
Sorry, I didn't re-read the code before translating.