equal
  deleted
  inserted
  replaced
  
    
    
         | 
     1 def distinctBy[B, C](xs: List[B], f: B => C, acc: List[C] = Nil): List[B] = xs match { | 
         | 
     2   case Nil => Nil  | 
         | 
     3   case (x::xs) => { | 
         | 
     4     val res = f(x)  | 
         | 
     5     if (acc.contains(res)) distinctBy(xs, f, acc)    | 
         | 
     6     else x::distinctBy(xs, f, res::acc)  | 
         | 
     7   }  | 
         | 
     8 }   | 
         | 
     9   | 
         | 
    10   | 
         | 
    11   |