functional-programming- все статьи тега ➜ страница 3
Что такое полиморфизм в Javascript?
Я прочитал некоторые возможные статьи, которые я мог бы найти в интернете на полиморфизм. Но я думаю, что не мог полностью понять смысл этого и его важность. В большинстве статей не говорится, почему это важно и как я могу добиться полиморфного поведения в ООП (конечно, в JavaScript). Я не могу представить какой-либо пример кода, потому что у меня нет идеи как это реализовать, поэтому мои вопросы ниже: что это? зачем нам это нужно ? как это работает? как я могу добиться такого полиморфного ...
Что представляет собой сгиб для типов, отличных от списка?
рассмотрим односвязный список. Это выглядит примерно так data List x = Node x (List x) | End естественно определить функцию складывания, такую как reduce :: (x -> y -> y) -> y -> List x -> y в смысле reduce f x0 заменяет каждый Node С f и все End С x0. Это то, что прелюдия называется раза. теперь рассмотрим простое двоичное дерево: data Tree x = Leaf x | Branch (Tree x) (Tree x) аналогично естественно определить такую функцию как reduce :: (y -> y -> y) -> (x - ...
Функциональное программирование-много внимания на рекурсии, почему?
Я знакомлюсь с функциональным программированием [FP] (используя Scala). Одна вещь, которая выходит из моих первоначальных знаний, заключается в том, что FPs сильно зависит от рекурсии. А также кажется, что в чисто FPs единственный способ сделать итерационный материал-это написать рекурсивные функции. и из-за интенсивного использования рекурсии, похоже, следующее, о чем FPs пришлось беспокоиться, были StackoverflowExceptions обычно из-за длинных рекурсивных вызовов обмотки. Это было решаться вве ...
Javascript как функциональный язык
Я ищу, чтобы справиться с функциональными концепциями программирования. Я использовал Javascript в течение многих лет для сценариев на стороне клиента в веб-приложениях, и помимо использования прототипов это была простая манипуляция DOM, проверка ввода и т. д. в последнее время, у меня часто читаю что Javascript является одним из языков, который поддерживает функциональное программирование. с моим знакомством и опытом работы с Javascript, я предпочитаю использовать это чтобы узнать функцион ...
Функциональное программирование на Java [закрыто]
есть ли хорошая библиотека для функционального программирования в Java? Я ищу такие вещи, как и список.Найти () (как статический метод). Не сложно реализовать, но было бы неплохо найти здесь многоразовую библиотеку. ...
При вычислении скользящего среднего списка
в эти выходные я решил попробовать свои силы в некоторых Scala и Clojure. Я хорошо разбираюсь в объектно-ориентированном программировании, и поэтому Scala было легко подобрать в качестве языка, но хотел попробовать функциональное программирование. Вот где это стало трудно. Я просто не могу заставить свою голову работать в режиме написания функций. Как опытный функциональный программист, как вы подходите к проблеме? учитывая список значений и определенный период суммирования, как бы вы соз ...
Алгебраические типы данных Хаскелла
Я пытаюсь полностью понять все концепции Хаскелла. каким образом алгебраические типы данных похожи на универсальные типы, например, в C# и Java? И чем они отличаются? И вообще, что в них такого алгебраического? Я знаком с универсальной алгеброй и ее кольцами и полями, но у меня есть только смутное представление о том, как работают типы Хаскелла. ...
Что такое "нисходящие фунарги"?
Джейми Zawinski использует этот термин в своих (1997) статья "java отстой" как будто вы должны знать, что это значит: Я действительно ненавижу отсутствие нисходящих фунаргов; анонимные классы-Хромая замена. (Я могу жить без долгоживущих замыканий, но я нахожу отсутствие указателей функций огромной болью.) похоже, это сленг Лиспера, и я мог бы найти следующее краткое определение здесь, но я почему-то думаю, я все еще не понимаю: многие замыкания используются только в пределах Привязок, ...
Что такое хороший начальный текст по функциональному программированию? [закрытый]
Мне нравится изучать языки за пределами моей зоны комфорта, но мне было трудно найти место для начала функциональных языков. Я слышал много хорошего о структура и интерпретация компьютерных программ, но когда я попытался прочитать его пару лет назад, он просто свистел над моей головой. Я лучше справляюсь с книгами, чем с веб-сайтами, но когда я посещаю местный книжный магазин, книги на LISP выглядят немного страшно. Так что же хорошего отправная точка? Моя цель состоит в том, чтобы иметь воз ...
Как я должен думать о классах продуктов Scala?
пакет "scala" имеет ряд классов с именами Product, Product1, Product2 и так далее, вплоть до Product22. описания этих классов, безусловно точные. Например: Product4 is a cartesian product of 4 components точное, да. Общительный? Не столько. Я ожидаю, что это идеальная формулировка для тех, кто уже понимает смысл "декартового продукта", используемого здесь. Для того, кто этого не делает, это звучит немного круговым. "О да, ну конечно Product4 это мычать продукт 4 мычать-мычит." пожалуйста, п ...
В чем преимущество чисто функциональной структуры данных?
существует большое количество текстов о структурах данных и библиотеках кода структур данных. Я понимаю, что чисто функциональная структура данных легче рассуждать. Однако мне трудно понять реальное преимущество использования чисто функциональной структуры данных в прагматическом коде (используя функциональный язык программирования или нет) над императивным аналогом. Кто-нибудь может предоставить некоторые реальные случаи, когда чисто функциональная структура данных имеет преимущество и зачем? ...
Что означает композиционность в контексте функционального программирования?
что имеют в виду функциональные программисты, когда они говорят, что определенная вещь является композиционной или не композиционной? некоторые из утверждений такого рода, которые я читал: структуры управления не сочетаются. потоки не составляют. монадические операции являются составными. ...
Что такое "N+k patterns" и почему они запрещены в Haskell 2010?
при чтении запись Википедии на Haskell 2010 я наткнулся на это: -- using only prefix notation and n+k-patterns (no longer allowed in Haskell 2010) factorial 0 = 1 factorial (n+1) = (*) (n+1) (factorial n) что они подразумевают под"N + K паттернами"? Я думаю, что это вторая строка, но я не понимаю, что с ней может быть не так. Может ли кто-нибудь объяснить, в чем проблема? Почему эти шаблоны n + k не разрешены в Haskell 2010? ...
Переполнение стека из глубокой рекурсии в Java?
после некоторого опыта работы с функциональными языками, я начинаю использовать рекурсию больше в Java-но язык, кажется, имеет относительно мелкий стек вызовов около 1000. есть ли способ сделать стек вызовов больше? Например, могу ли я сделать функции, которые являются миллионами вызовов глубоко, как в Erlang? Я замечаю это все больше и больше, когда я делаю проект Эйлера проблемы. спасибо. ...
Смешивая Эрланг и Хаскель
Если вы купились на парадигму функционального программирования, скорее всего, Вам нравятся как Эрланг, так и Хаскелл. Оба имеют чисто функциональные ядра и другие преимущества, такие как легкие нити, которые делают их хорошо подходящими для многоядерного мира. Но есть и некоторые отличия. Erlang-это коммерчески проверенный отказоустойчивый язык со зрелой моделью распределения. Он имеет, казалось бы, уникальную особенность в его способности обновить свою версию во время выполнения с помощью г ...