Miranda
Miranda is a functional programming language, a little to pure to be any use to me, I'd prefer a hybrid language. Still it's and interesting language, see it's Wikipedia page.
I also do not like the way it uses = in more than one way:
1) As to assign values.
2) To define functions.
3) as an relational operator to test equality.
so you can have function definitions like
mktree list = build (sort list) where
build lst = Empty, if lst = []
= Fork left (lst!m) right, otherwise
where
left = build (take m lst)
right = build (drop (m+1) lst)
m = #lst div 2
which shows = being used to define functions, mktree list = build .. and build lst = , and then as a equality operator lst = [], and then to assign to left, right and m, this is ugly and ambiguous.