metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-09-12 12:08 pm
Entry tags:

А вот и немножко грибов от использования F#

Ради теста обновил 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#, конечно, язык весьма удобный, но ставить его в продакшен за пределы личного использования я как-то опасаюсь - очень уж разрозненные сведения по нему в интернетах и выглядит это все, как будто он живет усилиями Дона Сайма, проталкивающего его всюду.

Т.е. что я хочу сказать - пихать в продакшен что-то не мейнстримовое можно, только имея или личный контакт с девелоперами, или надмозгов на работе, которые в случае чего смогут разгрести внезапно возникший ад угара.

[identity profile] mega-mosk.livejournal.com 2010-09-12 12:31 pm (UTC)(link)
http://blogs.msdn.com/b/dsyme/archive/2010/02/10/detailed-release-notes-for-f-february-2010-release.aspx
Не совсем changelog в строгом понимании но дает представление.
Первая ссылка по запросу "ChangeLog F# 2.0", ребе, мне-таки сделали другой гугль?

[identity profile] nivanych.livejournal.com 2010-09-12 01:33 pm (UTC)(link)
А Haskell - мейнстримовое или нет?
Его можно пихать в продакшн?
;-)