I keep getting this error please help me fix this “parse error on input ‘where'” Haskell

This is the error i get :

error: parse error on input ‘where’ | 7 | where firstFew = take ((length a) div 2) a | ^^^^^

mergeSort :: (Ord a) => [a] -> [a]

mergeSort [] = []

mergeSort [a] = [a]

mergeSort a =· enter code heremerge (mergeSort firstFew) (mergeSort lastFew) enter code here where firstFew = take ((length a) div 2) a enter code here lastFew = drop ((length a) div 2) a enter code here— Expects a and b to already be sorted

merge :: (Ord a) => [a] -> [a] -> [a]

merge a [] = a

merge [] b = b

merge (a:as) (b:bs)

enter code here | a < b = a:(merge as (b:bs))

enter code here | otherwise = b:(merge (a:as) bs)

Where/ How find bloggers with actual blog page (not Instagram) to review my products?

Hi everyone, I hope I am at the right place to get an answer. :) We are looking blogger(s) who would be fancy to review Women's Clothing on them blog WEBPAGE. It looks like Instagram took all the space. Also, the blogger must be based in the UK, for delivering purpose. If there are any volunteers check our products at thewas.co.uk Please contact me via email – or facebook – @thewascouk.
Thanks

Concurrent update queries locking rows when `where` clause doesn’t match

My application sends messages to Slack. On very rare occasions we may need to retract the message going out. These retractions are handled by queueing a job for each messageId that has been created thus far.

I noticed during our last retraction about a week ago that we saw about 2k:

try restarting transaction (SQL: update `message` set `deleted_at` = 2018-12-04 04:47:44 where (`slack_channel_id` = xxxxxxxxxxxxxxxx and message_id = xxxxxxxxxxxxxxxx))"

It seems like the queue jobs (which are absolutely happening concurrently) are stepping on each other’s toes. My expectation is that this query would only put a lock on the individual row it needs (we have a compound unique index on slack_server_id, slack_channel_id and message_id), but it seems like more than one job is locking this record.

Why are these concurrent update queries locking rows that don’t match the where clause?