Я только начал изучать F# и попробовал код из вики:
Я предпочитаю табуляцию пробелам, поэтому немного меняю код на это:
#indent "off"
open System
open System.Windows.Forms
let form = new Form(Visible=true, TopMost=true, Text="Welcome to F#")
let label =
let temp = new Label()
let x = 3 + (4 * 5)
temp.Text <- sprintf "x = %d" x
temp
form.Controls.Add(label)
[<STAThread>]
Application.Run(form)
Результат:
Компилятор Microsoft (R) F# 2.0, сборка 4.0.30319.1 Copyright (c) Microsoft Corporation. Все права защищены.
fstest2.fs(1,1): предупреждение FS0062: эта конструкция предназначена для совместимости с ML. Вместо этого рассмотрите возможность использования файла с расширением «.ml» или «.mli». Вы можете отключить это предупреждение, используя '--mlcompatibility' или '--nowarn:62'.
fstest2.fs(9,2): ошибка FS0010: непредвиденное ключевое слово «разрешить» или «использовать» в выражении. Ожидаемый вход или другой токен.
fstest2.fs(13,1): ошибка FS0597: последовательные аргументы должны быть разделены пробелами или объединены в кортежи, а аргументы, включающие приложения функций или методов, должны быть заключены в круглые скобки
fstest2.fs(9,14): ошибка FS0374: недопустимое выражение слева от присваивания
fstest2.fs(16,1): ошибка FS0010: непредвиденный идентификатор в определении
Предполагаю, что ошибка где-то в блоке let label, но не могу понять.