А, этот фокус с инлайном, т.е. с чистым компайл-таймом.
Чем это лучше старых добрых плюсовых шаблонов?! Ничем, только ещё хуже. В плюсах-то все эти подстановки и вывод типов на ходу - будь здоров как проработан. Прокачают до плюсов - будет круто :)))
Вот именно это я и имею в виду. Перечёркивает структурированное знание одного аспекта и даёт азы другого. Несоразмерно.
Конечно, без азов говорить не о чем, т.е. нужна преварительная подготовка. Но после этого лекция будет выглядеть не "паттерн А, паттерн Б, паттерн В - фигня-война, засуньте это в какую-нибудь монаду", а "зато у нас вот такие и вот этакие типичные ситуации возникают, которые красиво укладываются в монады L, S, T, а вот другие ситуации, для которых лучше изобрести вообще другой математический аппарат"...
no subject
Date: 2016-04-26 04:38 pm (UTC)no subject
Date: 2016-04-26 04:43 pm (UTC)no subject
Date: 2016-04-26 05:28 pm (UTC)Но делать интерфейсы, жалко уподобленные тайпклассам, - это... это какой-то позор!
no subject
Date: 2016-04-26 05:35 pm (UTC)no subject
Date: 2016-04-26 05:45 pm (UTC)no subject
Date: 2016-04-26 06:13 pm (UTC)let inline getLength< ^a when ^a : (static member Length : string -> int)> str = ( ^a : (static member Length : string -> int) str)no subject
Date: 2016-04-26 08:08 pm (UTC)Чем это лучше старых добрых плюсовых шаблонов?! Ничем, только ещё хуже. В плюсах-то все эти подстановки и вывод типов на ходу - будь здоров как проработан.
Прокачают до плюсов - будет круто :)))
no subject
Date: 2016-04-26 05:09 pm (UTC)Конечно, без азов говорить не о чем, т.е. нужна преварительная подготовка.
Но после этого лекция будет выглядеть не "паттерн А, паттерн Б, паттерн В - фигня-война, засуньте это в какую-нибудь монаду", а "зато у нас вот такие и вот этакие типичные ситуации возникают, которые красиво укладываются в монады L, S, T, а вот другие ситуации, для которых лучше изобрести вообще другой математический аппарат"...