Ваш оригинальный код прекрасно работает даже без модификаций, которые предложил Игорь:
Microsoft (R) F# 2.0 Interactive build 4.0.30319.1
Copyright (c) Microsoft Corporation. All Rights Reserved.
> let l = [ 10L .. -1L .. 0L ];;
val l : int64 list = [10L; 9L; 8L; 7L; 6L; 5L; 4L; 3L; 2L; 1L; 0L]
Возможная незначительная ошибка заключается в том, что если вы (например) вставили код из Word (или другой программы), возможно, он заменил символ -
на другой тип тире, который выглядит так же, но фактически другой код.
Еще один способ взломать код - удалить пробелы - например, между ..
и -1L
должен быть пробел. В противном случае я не вижу причин, по которым это не должно работать.