Как реализовать goto в F #?

Во всех моих любимых языках есть команда goto . То есть вы можете создать метку, а затем прервать выполнение программы, чтобы перейти к метке. Одно из наиболее полезных применений этой конструкции - создание бесконечного цикла, например такого:

 start:
 goto start

К сожалению, если я правильно понимаю ошибки компилятора, я не могу использовать тот же синтаксис в F #. Итак, поскольку он, похоже, не поддерживается изначально, как я могу реализовать команду goto в F #?

Конечно, F # является достаточно мощным языком для реализации такой простой функции. Другие языки, такие как Javascript, которые изначально не поддерживают goto , все еще могут реализовать его через подключаемый модуль.

Кроме того, я считаю, что F # как один языков в парадигме функционального программирования, должны поддерживать высокоуровневые goto s: где вы можете передавать goto s в goto s.

]

6
задан Peter Olson 19 August 2011 в 21:46
поделиться