К сожалению, чувствительный к отступам синтаксис, который F # унаследовал от таких языков, как Haskell, делает невозможным автоматическое отступление.На самом деле это моя единственная главная проблема с языком F #, потому что, помимо того, что невозможно реализовать профессиональные инструменты, такие как авто-отступы, он делает программы хрупкими при отсутствии правильного отступа, что означает, что случайное изменение пробела может молча испортить программу.а вырезать и вставить (например, из блогов) склонны к взлому или повреждению программ.F # почти всегда облажается, если вы передаете ему код OCaml, отчасти потому, что он не может обрабатывать вкладки.
Чертов стыд в том, что OCaml уже получил это право, предоставив краткий однозначный синтаксис и мощные инструменты.Например, вы можете автоматически добавлять любые определения, нажимая ALT + Q в Emacs.Это значительно облегчает манипулирование кодом OCaml и может значительно сэкономить время.Я часто трачусь через код F #, пытаясь перерисовать его вручную, мне приходится подробно читать код и разбираться в алгоритме, просто чтобы сделать отступ, это серьезно расстраивает.Проделав это много раз, я также могу с уверенностью заявить, что многословная экономия синтаксиса #light
незначительна.На самом деле F # почти всегда более многословен, чем OCaml на практике.