tag:blogger.com,1999:blog-8596733192274108952.post1554180648945848099..comments2024-03-12T06:00:18.305+02:00Comments on Programming stuff: Книга Криса Смита «Программирование на языке F#»Sergey Teplyakovhttp://www.blogger.com/profile/14300835272589262297noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-8596733192274108952.post-12778642788064454222010-12-22T11:40:27.999+02:002010-12-22T11:40:27.999+02:00Да, использование функции в качестве аргумента дру...Да, использование функции в качестве аргумента другой функции - это "higher-order function" и без <a href="http://en.wikipedia.org/wiki/First-class_function" rel="nofollow">функций как объектов данных</a> - это невозможно. Я же имел ввиду, что как в λ-исчислении данные могут быть представлены как-то иначе (<a href="http://en.wikipedia.org/wiki/Lambda_calculus#Encoding_datatypes" rel="nofollow"> wiki</a>). К примеру в <a href="http://www.haskell.org/ghc/" rel="nofollow">GHC</a> все данные имеют "конструкторы", которые по сути являются функциями и при упомянутом здесь pattern-matching'е указываются эти конструкторы. Т.е. на уровне языка - примитивных типов нет, а работа ведется с типами, объекты которых представлены функциями примененными к каким-то абстрактным данным, которые выходят за рамки языка.Anonymoushttps://www.blogger.com/profile/03159331377410025186noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-24944741847250066662010-12-21T11:36:23.473+02:002010-12-21T11:36:23.473+02:00Функции первого порядка, а не первого рода.
Это де...Функции первого порядка, а не первого рода.<br />Это действительно лямбда-исчисление.<br />Связано с возможностью использовать функции в качестве аргумента другой функции и/или возврата в качестве значения функции.Кириллhttps://www.blogger.com/profile/01866536238846447655noreply@blogger.comtag:blogger.com,1999:blog-8596733192274108952.post-70259427179616825012010-12-16T07:42:55.784+02:002010-12-16T07:42:55.784+02:00"функции первого рода" скорее всего это ..."функции первого рода" скорее всего это от "functions as a firtst-order types" или что-то в этом роде. Там, кажется, это как-то связанно с λ-исчислением. Я не уверен, но мне это представляется так, что все объекты - это функции, но некоторые из них не раскрываются (конструкторы), а работа ведется с ними и/или с их аргументами. Т.е. всё множество возможных констант состоит только из функций с разным количеством аргументов.Anonymoushttps://www.blogger.com/profile/03159331377410025186noreply@blogger.com