Vasiliy
все норм, еще есть минимум 73 процентов цп, которые можно есть :D
Григорий
а какие фичи F# ожидаете в новых версиях?
Vasiliy
https://pastebin.com/SuxUhJPE
типа такого
И тут я понял, что не правильно вообще подошел к моделированию моделей. Надо все сжечь и начать еще раз. Но зато узнал про систему типов еще немного нового)
Vasiliy
Григорий
я узнал, что хотят впилить новый синтаксис для линз
Vasiliy
кстати, что за линзы?
Vasiliy
благодарю.
Григорий
я пока не могу внятно объяснить, что такое линзы)), но это вроде как способ, с помощью которого можно изменять поля у вложенных record'ов, получая новый record >_<
Ayrat
Сейчас не смогу скинуть ссылку, может кто другой скинет
Doge
Григорий
я пока не шарю )) если коротко))
Григорий
Григорий
@omgszer оно? https://github.com/fsharp/fslang-design
Ayrat
Vladislav
а какие фичи F# ожидаете в новых версиях?
1) обновление рекордов не через жопу
2) анонимные рекорды
3) нужные value option
4) type slicing in quotations
5) type providers parametrised by types
6) struct/ref tuple parity
7) task CE
8) let! and!
9) SRTP inline interfaces
Vladislav
10) чтобы сишарп просрался с extension everything и мы тайпклассы получили
Vasiliy
И что из этого одобрено?
Vladislav
Все
Vladislav
Насчёт туплов не уверен
Doge
Klei
Vasiliy
Vasiliy
Что за value option?
https://github.com/fsharp/fslang-design/blob/master/FSharp.Core-4.6.0/FS-1065-valueoption-parity.md
Vasiliy
наверное это?
Klei
Не знал, что у ValueOption нет соответсвующего модуля.
Григорий
Romɑn
Vladislav
Vladislav
Стракт туплы туда же
Vladislav
Неудобно использовать
Klei
Vladislav
А ещё 11) там короче есть пропозал типа Simplify name resolution for record fields
Vladislav
{ Name = x.Name }
=
{ x.Name }
Vladislav
Как в сишорпе
Vladislav
https://news.ycombinator.com/item?id=18874796
Vasiliy
Vladislav
Фшарпу 16-17 лет, первые реализации в 2001-2002 на окамле были
Крылатый
Vladislav
At the time, all public software by MSR had an awkward legal/commercial status: publication of software was primarily to support a research/publication agenda. Despite a budget nearing $1B, the organization was not at that stage permitted to make and release commercial products.
Vladislav
Лол
Vladislav
Мс ресерч
Vladislav
At EPFL in 2007, the author noticed that Odersky was experimenting with a react { ... } construct for message processing in Scala, and realized that some kind of primitive construct to deal with asynchronous programming was going to be needed in F#. C# had added “iterators” in C# 2.0 (again initiated by MSR). This featured an implicit inversion of control-flow which was of interest in the context of async programming.
Vladislav
Хех
Vladislav
Асинки из скалы то
Vladislav
TypeScript was directly influenced by F#: one of the originators of TypeScript was Luke Hoban, who began TypeScript (then called Strada) immediately after working on F# 2.0. Recently he noted the influence of F# on early parts of the TypeScript design.101 The extent of this influence is a matter of counter-factual debate, but it is the author’s opinion that TypeScript would not have appeared from a Microsoft team in anything close to its current form without the influence of F#.
Vasiliy
а сколько лет скале?
Vasiliy
мне казалось она не так давно живет.
Vladislav
С 2000~
Vladislav
@DogeShibu
This tension, where F# added one version of a feature, only for C# to add a modified version of a similar feature later, was repeated even with tuples: F# had boxed tuples from the outset in 2002, and C# added unboxed tuples in 2017. In 2017 the F# design team had to adjust F# to allow both boxed and unboxed tuples. The introduction of C# expression quotations in 2007 was similar: F# had quotations Expr<T>, but C#’s expression quotation added LINQ’s Expression<T>, widely used by .NET libraries. C# expressions quotations are strictly more limited than F# quotations (covering only C# expressions, and not statement forms), and more complicated, but they are effectively a .NET standard. To the author’s knowledge no other language dances quite so closely with a “bigger” language. It is important for the long-term integrity of the F# design that these adjustments are done with extreme care.
As a language design, F# has many opportunities to evolve, and over 200 active language suggestions are recorded on the “F# Language Suggestions” site that forms part of the official FSSF language design process.106 Two of the most popular suggestions are type classes and higher kind type parameterization. However, in both cases the author has indicated an unwillingness to add this feature to F# without also adding a matching feature to C#, partly to avoid a recurring pattern of multiple semi-compatible versions of similar features.
Про то почему tc и hktp нет)
Doge
@DogeShibu
This tension, where F# added one version of a feature, only for C# to add a modified version of a similar feature later, was repeated even with tuples: F# had boxed tuples from the outset in 2002, and C# added unboxed tuples in 2017. In 2017 the F# design team had to adjust F# to allow both boxed and unboxed tuples. The introduction of C# expression quotations in 2007 was similar: F# had quotations Expr<T>, but C#’s expression quotation added LINQ’s Expression<T>, widely used by .NET libraries. C# expressions quotations are strictly more limited than F# quotations (covering only C# expressions, and not statement forms), and more complicated, but they are effectively a .NET standard. To the author’s knowledge no other language dances quite so closely with a “bigger” language. It is important for the long-term integrity of the F# design that these adjustments are done with extreme care.
As a language design, F# has many opportunities to evolve, and over 200 active language suggestions are recorded on the “F# Language Suggestions” site that forms part of the official FSSF language design process.106 Two of the most popular suggestions are type classes and higher kind type parameterization. However, in both cases the author has indicated an unwillingness to add this feature to F# without also adding a matching feature to C#, partly to avoid a recurring pattern of multiple semi-compatible versions of similar features.
Про то почему tc и hktp нет)
Ну так они долго ждать могут.
Doge
Поэтому я и считаю, что разумнее было просто отколоться от материнского языка и развиваться в своем темпе и своем стиле.
Та же скала на джаву оглядывается очень редко.
Pavel
@DogeShibu
This tension, where F# added one version of a feature, only for C# to add a modified version of a similar feature later, was repeated even with tuples: F# had boxed tuples from the outset in 2002, and C# added unboxed tuples in 2017. In 2017 the F# design team had to adjust F# to allow both boxed and unboxed tuples. The introduction of C# expression quotations in 2007 was similar: F# had quotations Expr<T>, but C#’s expression quotation added LINQ’s Expression<T>, widely used by .NET libraries. C# expressions quotations are strictly more limited than F# quotations (covering only C# expressions, and not statement forms), and more complicated, but they are effectively a .NET standard. To the author’s knowledge no other language dances quite so closely with a “bigger” language. It is important for the long-term integrity of the F# design that these adjustments are done with extreme care.
As a language design, F# has many opportunities to evolve, and over 200 active language suggestions are recorded on the “F# Language Suggestions” site that forms part of the official FSSF language design process.106 Two of the most popular suggestions are type classes and higher kind type parameterization. However, in both cases the author has indicated an unwillingness to add this feature to F# without also adding a matching feature to C#, partly to avoid a recurring pattern of multiple semi-compatible versions of similar features.
Про то почему tc и hktp нет)
их нет только потому что сайму ломы их делать. отсутствие du в цешарпе его как-то не останавливало
Vasiliy
Doge
У Одерски где-то валялась статья про то, как он в Dotty HKT делал, там можно разные варианты посмотреть.
Doge
Doge
Ну тут варианты энкодинга, правда, достаточно специфичные для скалы и её системы типов.
Doge
Но чтение всё равно интересное
Dr. Friedrich
Dr. Friedrich
Doge
Dr. Friedrich
Вроде туда скалошные лямбды не пролезали, или что-то в этом роде
Dr. Friedrich
Надо было включать какую-то экспериментальную джигурду, чтобы норм работать со стримами
Dr. Friedrich
И очень долго эта басня тянулась
Doge
Doge
Её раньше сделали, чем восьмую джаву
Dr. Friedrich
У Котлина сейчас какие-то проблемы с дефолтовыми интерфейсами в жаве. Опять же, из-за совместимости с семёркой.
Doge
Ну надобности использовать джавовские стримы у меня ни разу не возникала. Ни на 2.11, ни на 2.12
Dr. Friedrich
Dr. Friedrich
У меня вот везде жава-либы, и приходится по полной эксплуатировать все слои совместимости, все вот эти дикие штуки для преобразования жавошных итераторов в скалошные и всю вот эту пакость
Dr. Friedrich
К счастью, ещё с дефолт-интерфейсами не столкнулся, и на том спасибо :)
Doge