Даниэль прав: это отключает только печать значений , а не самих объявлений .
Одна из ситуаций, когда это полезно, когда вы определяете некоторый пользовательский принтер для значения, которое создает новое окно как побочный эффект (например, значение, которое представляет диаграмму или что-то, что вы хотите отобразить).
Например, вы могли бы написать это:
// Display all evaluated strings in a message box
fsi.ShowDeclarationValues <- false
fsi.AddPrinter(fun (s:string) ->
System.Windows.Forms.MessageBox.Show(s) |> ignore; "")
let a = "foo" // Evaluating this line doesn't show message box
let b = "bar" // (dtto)
a + b // .. but evaluating this line shows the message box!