Backport #10320: Convert validate.sh to a Haskell script
#10490
Merged
validate.sh to a Haskell script
#10490