The calculated distance (air line) between Haddington and Balerno is approximately 22 miles respectively 36 kilometers.
By car or train, the actual journey to Balerno is certainly longer, as only the direct route (as the crow flies) between Haddington and Balerno has been calculated here.
Air line (approximately)
36 kilometers
19 nautical miles