Skip to main content

F# на Linux как лекарство для души

Дата публикации: 15.12.2017

В последнее время я немного устал от C#, бесконечные строчки однотипного кода перестают со временем греть душу. В такие моменты иногда хочется заняться чем-то для души. В моем случае это Linux и F#.

По большей части для меня важно, чтобы я вышел из зоны комфорта. В общем-то я так и сделал, сменил систему и язык.

Организуя свой отдых, я столкнулся с тем, что немного непонятно с чего начать. Давайте же немного разберемся, как дело обстоит с F# на Linux.

Основное:

  • Нужен легковесный редактор с поддержкой синтаксиса
  • Нужна поддержка F# Interactive
  • Нужна среда .NET
  • Нужен отладчик (впрочем, как и всегда)

Искушенные хаброжители уже смекнули, что "легковесный редактор" + Microsoft = Visual Studio Code. Надеюсь, она у вас уже стоит :)


Приступим к делу

Итак, с выбором редактора разобрались, теперь со всем остальным по порядку:

  • Вам необходимо поставить пакет mono и fsharp, для большинства Linux систем инструкцию вы найдете здесь. Хоть в инструкции нет Arch Linux (и основанных на нем дистрибутивов), в стандартном репозитории pacman'a эти пакеты, впрочем, присутствуют, да и в инструкции показано как собрать из исходников, так что проблем возникнуть не должно.

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

  • Также поставим .NET Core 2.0.0 (Runtime + SDK), опять же, для большинства систем вы найдете инструкцию здесь. Для Arch Linux проще всего будет поставить пакеты dotnet и dotnet-sdk-2.0из AUR. Если что, то вот github После этого, перейдем непосредственно уже к подготовке VS Code к нашей работе.

Поставим расширения для поддержки синтаксиса F#, сборки и управлением пакетами Nuget.


Для полноты можно поставить Nuget manager совместимый с .Net Core.


Поставим расширение для отладки (Да, все правильно, написано C#).

После этого клоним вот этот реп, и далее по инструкции делаем:

dotnet restore && code .

 

Теперь перезагружаем VS Code и ждем пока расширение "отладчика" докачает свои пакеты и нормально развернется.

На самом деле, сейчас уже почти все готово, осталось только протестировать.

  • Создаем где-нибудь папку, запускаем там консоль. Далее выполняем:
dotnet new console -lang F#
dotnet run

 

Получаем заветные Hello World from F#!

  • Открываем VS Code в этой папке code .
  • Идем в Program.fs и выделяем кусочек кода и жмем Alt+Enter:


запустится долгожданный F# Interactive.


Его также можно использовать для более полезных целей:


Далее посмотрим сборку и отладку.

  • Для настройки директивы сборки нажимаем Ctrl+Shift+B и выбираем .Net Core.

Автоматически сконфигурированный файл нам менять не нужно.

  • После этого снова нажимаем Ctrl+Shift+B и видим, что сборка происходит успешно:

  • После этого F5, выбираем также .Net Core и дальше просто меняем путь до программы.

  • Все, после этого можно поставить точку останова (F9) на нашей единственной строчке и проверить отладчик:

Итак, ваша машина настроена и готова к новым свершениям на замечательном функциональном языке. Приятным бонусом будет то, что ваши наработки можно будет встроить в C# проект (посредством подключения .dll).

Автор статьи: Максимилиан Спиридонов

Данный материал написан участником сообщества. В статье представлено мнение автора, которое может не совпадать с мнением корпорации Microsoft. Microsoft не несет ответственности за проблемы в работе аппаратного или программного обеспечения, которые могли возникнуть после использования материалов данной статьи.