Fewest (distinct) characters for Turing Completeness
Haskell, 4 chars

()=;


With ()= we are able to define S, K and I. The definitions must be separated by either ; or a NL.

We define (==) as S (the second line shows a more readable version):

((=====)==(======))(=======)=(=====)(=======)((======)(=======))
( a     == b      ) c       = a      c       ( b       c       )


(===) as K:

(=====)===(======)=(=====)
 a     === b      = a


and (====) as I:

(====)(=====)=(=====)
(====) a     = a 


Luckily (==), (===), (====), etc. are valid function/parameter names.

As @ais523 points out, SKI isn't enough in a strongly typed language like Haskell, so we need to add a fixpoint combinator (=====):

(=====)(======)=(======)((=====)(======))
(=====) f      = f      ((=====) f      )