D>>>так вы этот список не сюда публикуйте, а на connect — пользы точно будет больше.
K>>Думаю, что не на много. Такие проблемы — доволно очевидны, нет какой-то насущной необходимости на них в очередной раз указывать. Полагаю, что с течением времени они все будут решены.
D>будем стараться
О! Инсайдеры засветились!
Не поделитесь какие планы у Майкрософта на этот язык? Включая продвижение.
Здравствуйте, Олег К., Вы писали:
D>>>>так вы этот список не сюда публикуйте, а на connect — пользы точно будет больше.
K>>>Думаю, что не на много. Такие проблемы — доволно очевидны, нет какой-то насущной необходимости на них в очередной раз указывать. Полагаю, что с течением времени они все будут решены.
D>>будем стараться
ОК>О! Инсайдеры засветились!
ОК>Не поделитесь какие планы у Майкрософта на этот язык? Включая продвижение.
Скорее всего не поделятся. Т.к. рекламировалось как новый серебрянный пуль от MS,
а в результате вышла банальная доставалка данных.
Все изменния в версии 3.0 относятся только к внешним рюшкам типа
запросов и тайп-провайдеров, что для самого языка ортогонально.
Старые косяки скорее всего не исправили (ибо не похвастались), новые концепции тоже не внесли,
и даже ни одного зарезервированного слова не имплементировали (хоть бы const для приличия сделали).
Так что если все будет и дальше в таком же духе можно смело забивать на F#
Здравствуйте, InCus, Вы писали:
IC>Старые косяки скорее всего не исправили (ибо не похвастались), новые концепции тоже не внесли, IC>и даже ни одного зарезервированного слова не имплементировали
А какие ошибки нужно исправить по вашему мнению? И какие "новые концепции" вы хотели бы в F# увидеть?
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Здравствуйте, Klapaucius, Вы писали:
K> А какие ошибки нужно исправить по вашему мнению?
В первую очередь сделать нормальный вывод типов, а не так как разработчики компилятора смогли реализовать.
Потом была песня, что расширение класса операторами невозможно использовать в других модулях (они их просто не видят).
По форумам поскрести много чего еще можно найти, вспоминать лень уже.
K> И какие "новые концепции" вы хотели бы в F# увидеть?
Все идеи и концепции которые создалеи натырыли с разних мест перечислены в последней таблице на http://msdn.microsoft.com/en-us/library/dd233249.aspx
Хочу много из этого, но ничего из этого за год не родилось даже в зачаточном виде.
Уж если банальные let [<Literal>] на const поменять времени не нашлось, то об остальном и мечтать, видно, не приходится.
Здравствуйте, InCus, Вы писали:
IC>В первую очередь сделать нормальный вывод типов
Ну, это сделать в принципе не получится, из-за необходимости взаимодействовать с .net библиотаками где сплошной сабтайпинг и перегрузки. Этого можно не ждать.
IC>Все идеи и концепции которые создалеи натырыли с разних мест перечислены в последней таблице на IC>http://msdn.microsoft.com/en-us/library/dd233249.aspx IC>Хочу много из этого,
Там только ключевые слова перечислены. В основном из C# и OCaml, по поводу некоторых можно пофантазировать или сделать какие-то предположения (например, atomic, вероятно, зарезервирован был еще в те времена, когда не известно было, что STM под .net не сделать, соответственно этого уже можно не ждать), ключевые слова типа functor могут намекать на то, что они все-таки рассматривают возможность сделать нормальные модули, как в нормальном ML, но каких-то других подтверждений этого я не слышал — наоборот, что-то было в том смысле , что в такой колбасе потребности нет.
IC>но ничего из этого за год не родилось даже в зачаточном виде.
С самого начала было очевидно, что после добавления F# в стандартную студийную поставку скорость изменений упадет до скорости дрейфа материков.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Здравствуйте, Klapaucius, Вы писали:
IC>>В первую очередь сделать нормальный вывод типов K>Ну, это сделать в принципе не получится, из-за необходимости взаимодействовать с .net библиотаками где сплошной сабтайпинг и перегрузки. Этого можно не ждать.
Nemerle однако...
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Klapaucius, Вы писали:
K>Здравствуйте, InCus, Вы писали:
IC>>В первую очередь сделать нормальный вывод типов
K>Ну, это сделать в принципе не получится, из-за необходимости взаимодействовать с .net библиотаками где сплошной сабтайпинг и перегрузки. Этого можно не ждать.
В эту сказку для детей я не верю. В случае, когда вот так x |> f мы можем вывести тип, а вот так f x внезапно разучились, рассказы об ограничениях .net библиотек выглядят мягко говоря странно.
K>Там только ключевые слова перечислены. В основном из C# и OCaml, по поводу некоторых можно пофантазировать или сделать какие-то предположения (например, atomic, вероятно, зарезервирован был еще в те времена, когда не известно было, что STM под .net не сделать, соответственно этого уже можно не ждать), ключевые слова типа functor могут намекать на то, что они все-таки рассматривают возможность сделать нормальные модули, как в нормальном ML, но каких-то других подтверждений этого я не слышал — наоборот, что-то было в том смысле , что в такой колбасе потребности нет.
break, const, continue, event делаются на раз
functor, mixin, pure, trait, parallel, process как минимум не помешали бы
остальное сложно идетифицировать, но раз оно там есть, значит идеи о примении были.
вспомнилось еще совершенно отвратильное развертывание хвостовой рекурсии в циклы.
басня сайма и ко, о том что мол "jit сооптимиздит" в реальном мире не работает.
K> ... в такой колбасе потребности нет.
Нет, так нет. С таким подходом и F# будет такой колбасой.
Здравствуйте, desco, Вы писали:
K>>Думаю, что не на много. Такие проблемы — доволно очевидны, нет какой-то насущной необходимости на них в очередной раз указывать. Полагаю, что с течением времени они все будут решены.
D>будем стараться
А вы не хотите стараться так, чтобы в результате получались свободно доступные базовые классы которые можно использовать в других интеграциях?
Тогда другие (мы, например) могли бы вам помогать в работе над ними. А то по своему опыту знаю, что информации в мсдне не хватает чтобы реализовать нужные вещи самостоятельно. Вы же имеете доступ к коду студии и можете отлаживать ее по человечески.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, InCus, Вы писали:
K>>Ну, это сделать в принципе не получится, из-за необходимости взаимодействовать с .net библиотаками где сплошной сабтайпинг и перегрузки. Этого можно не ждать.
IC>В эту сказку для детей я не верю. В случае, когда вот так x |> f мы можем вывести тип, а вот так f x внезапно разучились, рассказы об ограничениях .net библиотек выглядят мягко говоря странно.
Особенно смешно эти рассказы выглядят на фоне Nemerle, где ввод типов работает намного лучше. Причем автор базового алгоритма работает в команде контактирующей с F#-поской и, если не ошибаюсь, использует F# в своей работе.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, InCus, Вы писали:
IC>В эту сказку для детей я не верю. В случае, когда вот так x |> f мы можем вывести тип, а вот так f x внезапно разучились, рассказы об ограничениях .net библиотек выглядят мягко говоря странно.
Здравствуйте, Димчанский, Вы писали:
Д>Здравствуйте, InCus, Вы писали:
IC>>В эту сказку для детей я не верю. В случае, когда вот так x |> f мы можем вывести тип, а вот так f x внезапно разучились, рассказы об ограничениях .net библиотек выглядят мягко говоря странно.
Д>А что, действительно такое есть? Можно пример?
Такое сплошь и рядом, когда используются объекты. Я образно воспринимаю так: типы выводятся слева направо и сверху вниз. Тогда у выражения x |> f есть преимущество. Прикольно, конечно, наблюдать это, но что поделаешь?
Здравствуйте, Димчанский, Вы писали:
Д>Здравствуйте, InCus, Вы писали:
IC>>В эту сказку для детей я не верю. В случае, когда вот так x |> f мы можем вывести тип, а вот так f x внезапно разучились, рассказы об ограничениях .net библиотек выглядят мягко говоря странно.
Д>А что, действительно такое есть? Можно пример?
typeof<int>.GetMembers() |> Array.map (fun e -> e.Name)
vs
Array.map (fun e -> e.Name) <| typeof<int>.GetMembers()
Здравствуйте, WolfHound, Вы писали:
K>>Ну, это сделать в принципе не получится, из-за необходимости взаимодействовать с .net библиотаками где сплошной сабтайпинг и перегрузки. Этого можно не ждать. WH>Nemerle однако...
Ну, вывод типов в Немерле локальный и не выводит наиболее общий тип. При таких условиях тип можно выводить и при наличии сабтайпинга и перегрузок.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Здравствуйте, InCus, Вы писали:
IC>В эту сказку для детей я не верю. В случае, когда вот так x |> f мы можем вывести тип, а вот так f x внезапно разучились, рассказы об ограничениях .net библиотек выглядят мягко говоря странно.
Это не сказка, а суровая правда. Раз система типов расширена, чистый Х-М не работает, и по всей видимости, нужно как-то изворачиваться, используя эвристики. Эвристики всех случаев не покрывают, разумеется, и не во всех случаях ведут к правильному решению.
IC>break, const, continue, event делаются на раз
Но зачем? Это какие-то костыли, а F# и так со всех сторон в подпорках.
IC>functor
Это я уже комментировал. Без нормальных ML-ных модулей F#, разумеется, ML-инвалид, но и модули эти, скажем так, не только музыка и цветы, так что отказ от них может быть мотивирован не только ленью разработчика языка.
IC>mixin, trait
Тут не понятно, зачем два разных слова для одного и того же по сути.
IC>pure
Тут все с ног на голову поставлено. Аннотированная чистота при обратных умолчаниях еще нигде не заработала хоть как-то. Да и бенефиты какие-то извлечь в таком случае проблематично. А аннотация "нечистого" кода при дефолтной ссылочной прозрачности осложнит взаимодействие с .net библиотеками.
IC>parallel
Если это ключевое слово для создания чего-то типа хаскельной "искры" — то от языкостроителей это не зависит. тут поддержка рантайма требуется.
IC>process
Тут я даже предположить не могу, что подразумевается.
IC>остальное сложно идетифицировать, но раз оно там есть, значит идеи о примении были.
Не обязательно.
IC>вспомнилось еще совершенно отвратильное развертывание хвостовой рекурсии в циклы.
Например?
K>> ... в такой колбасе потребности нет. IC>Нет, так нет. С таким подходом и F# будет такой колбасой.
Ну, сравнивать-то надо с реальными альтернативами. А реальность такова, что при всей убогости и кривости F# кол-во языков, которые лучше него можно пересчитать по пальцам одной руки.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll