![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Ради теста обновил F# с 1.9.7.8 до 2.0.0.0. Сломалось:
1) fslex, fsyacc ставятся отдельно с FSharp PowerPack, в основную инсталляцию не входят
2) Warning насчет имени модуля в начале файла стал полноценной ошибкой - пришлось поправить исходники парсера и опцию --module для fsyacc чтобы это имя модуля появилось в сгенерированных файлах.
3) Самое неприятное для меня изменение - теперь optional parameters могут быть только в конце сигнатуры метода, а у меня было штук 5 конструкторов с опциональными параметрами в начале - это AST для генерируемого кода и там по логике идет что-то вроде такого:
([опциональные атрибуты] [опциональный модификатор видимости] тип имя [опциональный код инициализации])
В общем, это обходится досточно просто - делаем вместо одного конструктора несколько - один со всеми параметрами, и остальные - с наиболее часто встречающимися вариациями вызовов.
ChangeLog для F# 2.0 я найти не в состоянии, может меня конечно гугл лично ненавидит в этом плане, не знаю.
И вообще, F#, конечно, язык весьма удобный, но ставить его в продакшен за пределы личного использования я как-то опасаюсь - очень уж разрозненные сведения по нему в интернетах и выглядит это все, как будто он живет усилиями Дона Сайма, проталкивающего его всюду.
Т.е. что я хочу сказать - пихать в продакшен что-то не мейнстримовое можно, только имея или личный контакт с девелоперами, или надмозгов на работе, которые в случае чего смогут разгрести внезапно возникший ад угара.
1) fslex, fsyacc ставятся отдельно с FSharp PowerPack, в основную инсталляцию не входят
2) Warning насчет имени модуля в начале файла стал полноценной ошибкой - пришлось поправить исходники парсера и опцию --module для fsyacc чтобы это имя модуля появилось в сгенерированных файлах.
3) Самое неприятное для меня изменение - теперь optional parameters могут быть только в конце сигнатуры метода, а у меня было штук 5 конструкторов с опциональными параметрами в начале - это AST для генерируемого кода и там по логике идет что-то вроде такого:
([опциональные атрибуты] [опциональный модификатор видимости] тип имя [опциональный код инициализации])
В общем, это обходится досточно просто - делаем вместо одного конструктора несколько - один со всеми параметрами, и остальные - с наиболее часто встречающимися вариациями вызовов.
ChangeLog для F# 2.0 я найти не в состоянии, может меня конечно гугл лично ненавидит в этом плане, не знаю.
И вообще, F#, конечно, язык весьма удобный, но ставить его в продакшен за пределы личного использования я как-то опасаюсь - очень уж разрозненные сведения по нему в интернетах и выглядит это все, как будто он живет усилиями Дона Сайма, проталкивающего его всюду.
Т.е. что я хочу сказать - пихать в продакшен что-то не мейнстримовое можно, только имея или личный контакт с девелоперами, или надмозгов на работе, которые в случае чего смогут разгрести внезапно возникший ад угара.
no subject
Date: 2010-09-12 12:31 pm (UTC)Не совсем changelog в строгом понимании но дает представление.
Первая ссылка по запросу "ChangeLog F# 2.0", ребе, мне-таки сделали другой гугль?
no subject
Date: 2010-09-12 01:34 pm (UTC)no subject
Date: 2010-09-12 01:33 pm (UTC)Его можно пихать в продакшн?
;-)
no subject
Date: 2010-09-12 01:36 pm (UTC)То hackage сломают, то пути пакетов изменят, сами пакеты тоже меняются как б-г на душу положит. Т.е., в основном ничего такого, что нельзя было бы исправить, но "осадочек остается".
no subject
Date: 2010-09-12 01:39 pm (UTC)Но я рискну ;-)
no subject
Date: 2010-09-12 05:58 pm (UTC)Вы в процессе часто меняете библиотеки C#/F#/.Net?
Почему в Хаскеле будет иначе?