二分探索でタプルのインデックスリストを検索するプログラムを書きます
superBubble::(Ord t) =>[[t]]->[[t]]
superBubble a=map bubbleSort a
combining::[BookInfo]->[Int]
combining books= bubbleSort(map index books)  
 binsearch :: [Int] -> Int -> Int -> Int -> Int -- list, value, low, high, return int
 binsearch xs value low high
  | high < low       = -1
  | xs!!mid > value  = binsearch xs value low (mid-1)
  | xs!!mid < value  = binsearch xs value (mid+1) high
  | otherwise        = mid
   where
   mid = low + ((high - low) `div` 2)
  final::[BookInfo]->Int->Int->Int->Int 
  final vs key s r= binsearch concat( combining vs) key s r
他の機能は適切に機能しますが、穴に追加するとエラーが発生します
エラーは予期しない '|' です 最初のものですが、なぜですか?