Re[10]: F# hello wordl: почему два оператора вместо одного?
От: MadHuman Россия  
Дата: 29.05.18 16:54
Оценка: 4 (1)
Здравствуйте, igor-booch, Вы писали:


IB>Можете вкратце описать какая логика в проекте F#?

IB>Может парсинг, перевод данных из одной структуры в другую.
в целом именно это. хотя "перевод данных из одной структуры в другую" очень широкое определение и парсинг тоже можно в него включить

если чуть конкретнее, то примерно следующее:
— есть ряд текстовых DSL, для настройки end-user-ами определённых аспектов поведения системы (бизнес-рулы, фильтры, выражениия и тп).
это парсится в AST или какие-то структуры данных.
— большое кол-во (наверно сотни) различных функций по анализу этих настроек и их трансформаций. и вот тут f# рулит (продвинутый паттерн-матчинг, всякие функциональные приемы). могу смело утверждать, что без f# текущими силами, реализовать и контролировать этот функционал мы бы не смогли.
есть ещё всякое, но это мелочи в сравнении с п.2 по объёму функционала.
Re[8]: F# hello wordl: почему два оператора вместо одного?
От: Vladek Россия Github
Дата: 29.05.18 17:48
Оценка:
Здравствуйте, takTak, Вы писали:


T>>>короче, если я правильно понял, для каких-то алгоритмов на стороне сервера F# имел бы смысл, для UI/frontenda- больше имел бы смысл C# , правильно?

MH>>в целом да. но и в UI/frontenda, могут быть сложные алгоритмы/подсистемы, тогда можно их реализацию вынести в отдельный проект на F#

T>а что, есть F# реализация под WPF(MVVM) типа Prism/Caliburn или что-то особенное под asp.net?


Была какая-то библиотека для WPF, забыл давно название — вроде не это http://fsprojects.github.io/FSharp.Desktop.UI/ и не это http://fsprojects.github.io/FsXaml/

другое название было.

Вообще тут есть какой-то список: https://fsharp.org/community/projects/
Re[4]: F# hello wordl: почему два оператора вместо одного?
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.05.18 23:49
Оценка:
Здравствуйте, HrorH, Вы писали:

HH>Для меня эти конструкторы всегда были странными, т.к. это вроде бы функции, но у них нет тела.


Это просто операторы. Операторы "+" и "-" для тебя тоже странные?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: F# hello wordl: почему два оператора вместо одного?
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.05.18 23:51
Оценка:
Здравствуйте, MadHuman, Вы писали:

MH>могу смело утверждать, что без f# текущими силами, реализовать и контролировать этот функционал мы бы не смогли.


И ты ошибся. Есть и языки не менее мощные чем f#, и специальные средства для парсинга и типизации. И на них обработка всего что ты описал будет куда проще чем на f#.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: конфликт сборок
От: Codechanger Россия  
Дата: 31.05.18 18:07
Оценка: 1 (1)
Здравствуйте, takTak, Вы писали:


T>>>короче, если я правильно понял, для каких-то алгоритмов на стороне сервера F# имел бы смысл, для UI/frontenda- больше имел бы смысл C# , правильно?

MH>>в целом да. но и в UI/frontenda, могут быть сложные алгоритмы/подсистемы, тогда можно их реализацию вынести в отдельный проект на F#

T>а что, есть F# реализация под WPF(MVVM) типа Prism/Caliburn или что-то особенное под asp.net?


Под Web на данный момент:
Websharper,
Suave,
Giraffe,
Fable etc.

Под wpf сложнее. Вроде Gjallahorn выглядит неплохо, но руки его попробовать пока не дошли.
Re[12]: F# hello wordl: почему два оператора вместо одного?
От: MadHuman Россия  
Дата: 01.06.18 07:18
Оценка: +1
Здравствуйте, VladD2, Вы писали:

MH>>могу смело утверждать, что без f# текущими силами, реализовать и контролировать этот функционал мы бы не смогли.


VD>И ты ошибся. Есть и языки не менее мощные чем f#, и специальные средства для парсинга и типизации. И на них обработка всего что ты описал будет куда проще чем на f#.


В чем именно? На всякий случаю поясню свою исходную мысль — я утверждал что F# для нас оказался значительно более продуктивен чем C#.
Я не утверждал, что только F# мощнее и нет других сопоставимых по мощности языков.

Ну раз упомянул про другие "языки не менее мощные чем f#, и специальные средства для парсинга и типизации", то интересно узнать что имееш ввиду.
Сразу скажу про Nemerle (думаю он будет 1-м в твоём списке) — в курсе и даже на начальном этапе рассматривали его как вариант, но выбрали F#.
Хотя соглашусь, что Nemerle в целом даже более мощный в сравнении с F#, за счет макросов. Но нам макросы были менее важны, важнее оказалось удобство для функционального подхода. А вот именно для написания кода в функциональном стиле, считаю ML-синтаксис удобнее (лично мне он очень нравится).

В нашем случае как раз парсинг — довольно простой, и тут F# не играл особой роли, хотя построение парсеров с помощью техники парсер-комбинаторов оказалось довольно и интересным и гибким и продуктивным делом. Основная сложность лежит в функционале последующего манипулирования структурами данных — их разного рода анализа и преобразования. И вот тут интересно, что по твоему (и почему) даст делать "куда проще чем на f#"?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.