Написать пост

Microsoft выпустила стабильную версию F# 4.5

Аватар Екатерина Никитина

Ей соответствует версия SDK для компиляции 10.2. Поддержка F# 4.5 также добавлена в недавно опубликованную версию среды Visual Studio 2017 15.8.

Команда Microsoft в своем блоге для разработчиков рассказала о выходе новой версии языка программирования F#. Ей соответствует версия SDK для компиляции 10.2. Поддержка F# 4.5 также добавлена в недавно опубликованную версию среды Visual Studio 2017 15.8.

Что нового в F# 4.5

  • Поддержка типа Span, реализованного в .NET Core 2.1. Позволяет создавать более эффективный код и взаимодействовать с ним.
  • Введение правил безопасности при работе с конструкциями ByRef. Необходимо для ограничения контекста их использования и повышения предсказуемости результата. Разработчики напоминают, что Span и ReadOnlySpan также ограничены принятым набором правил.
  • Исправление ошибок, исключающее совместимость с кодом, написанным на F# версии 4.1:поддержка неявного разыменования возвратного значения ByRef;замена указателя this на inref в неизменяемых структурах для исключения ошибки их замещения при вызове.
  • Поддержка нового ключевого слова match!, позволяющего сократить некоторые часто используемые шаблоны.
			// Code that returns an asynchronous option
let checkBananaAsync (s: string) =
    async {
        if s = "banana" then
            return Some s
        else
            return None
    }
    
// Now you can use 'match!'
let funcWithString (s: string) =
    async { 
        match! checkBananaAsync s with
        | Some bananaString -> printfn "It's banana!"
        | None -> printfn "%s" s
}
		
  • Послабления в требованиях приведения к базовому типу (cast) при работе с yield в последовательностях, списках и массивах.
			let x0 : obj list  = [ "a" ] // ok pre-F# 4.5
let x1 : obj list  = [ "a"; "b" ] // ok pre-F# 4.5
let x2 : obj list  = [ yield "a" :> obj ] // ok pre-F# 4.5

let x3 : obj list  = [ yield "a" ] // Now ok for F# 4.5, and can replace x2
		
  • Послабления в правилах отступов при работе со списками и массивами.
			module Test1 = 
    System.Console.WriteLine(format="{0}", arg = [| 
        "hello"
    |])
    System.Console.WriteLine([|
        "hello"
    |])
		
  • Усовершенствованная трассировка стека при работе с async и дополнительные улучшения в модуле FSharp.Core.

Что нового в VS для F# 4.5

  • Добавлена возможность автоматического закрытия для парных символов "", (**), (), [], [||], {} и [].
  • Реализована функция Go to Definition — для этого необходимо кликнуть на объект с зажатой клавишей CTRL.
  • Добавлена экспериментальная функция CodeLens для отражения сигнатур типов.

Помимо поддержки F# 4.5 версия Visual Studio 2017 15.8 также получила обновление инструментов для работы с Python, С++ и JavaScript. Кроме того, добавлен эмулятор Google Android, совместимый с аппаратным виртуализатором Hyper-V, для разработки мобильных приложений.

Следите за новыми постами
Следите за новыми постами по любимым темам
1К открытий1К показов