Обновить
35
0
Андрей@sylvio

Пользователь

Отправить сообщение
Поясню. Допустим, мы имеем только чистые функции (без побочных эффектов, чтобы было проще возьмем только от одного аргумента, имена функций и аргументов не существенны, по этому их опустим), для того, чтобы при помощи них произвести какие-то вычисления нужно определить список операций, которые мы можем над ними выполнять. Алонзо Черч показал, что минимально необходимых операций всего 3 — α-преобрзование, β-редукция, η-преобразование.

Имея только чистые функции и 3 операции можно провести любые вычисления (язык полный по Тьюрингу), такой язык называют λ-счислением. Например, построить операцию рекурсии (Y-комбинатор).

Но так как каждый раз записывать Y-комбинатор или числа в Church numerals муторно и бессмысленно, то напридумали разного синтаксического сахара, например функции от нескольких аргументов (define в лисп) и тп
Таких функций напридумывали много (map, fold, reduce и тд) и язык реализцющих их каким-то образом, но не реализующий лямда-счисления, называют языком с функциональными возможностями, которым является Python. Lisp в свое время и был реализацией лямбда-счисления, по этому он просто функциональный язык.
По-моему, единственной важной особенностью как-раз и является отсутствие побочных эффектов, все остальное можно накалякать сверху самому. По этому когда говорят, что человек пишет в функциональном стиле на каком-то языке, имеют ввиду, что он старается минимизировать изменяемые состояния. И по этому map > for.

Питоновская лямбда в свою очередь имеет действительно другую семантику, конечно, это не честно каррированная функция, но и не просто анонимная — в ней напрямую нельзя изменять состояния (lambda: c = 5 не покатит), хотя можно изменить косвенно, по тому, что окружение не «чистое», вроде (lambda x: x.y()).
Пожалуйста, поясните, почему вы считаете люмбды «тупо синтаксическим сахором», а списочное выражение нет?

Вам не кажется, что любой язык высокого это синтаксический сахар над набором машинных команд? И в чем тогда по-вашему состоит важное отличие функциональных языков программирования от других?
А чтобы сделать его еще более функциональным, надо было вместо аналога reduce надо было реализовать аналог foldl, на котором реализовать reduce, на котором реализовать join.
Это топик про нахождение простых чисел, так? Тогда добавьте оценку асимптотиечкой сложности к вашим алгоритмам, а питоновые хаки пишите как отдельный топик — они не интересны.
Просто будет меньше процессоров на пластине. Не думаете же вы, что каждый процессор выращивают на своей.
Если два раунда инвестиций вам достаточно, то да.
Что из-за такого уменьшения стоимости больше денег могут не дать.
За стоимость пересылки по миру можно будет еще парк таких же серверов купить.
Я боюсь, что РБ уже давно не стартап.
Искажают пространство своей крутостью.
А можно провести профайлинг ;)
Блейд гонится до 710 без проблем :)
Чуваки из скайпа перед анонсом покупки сыграли на повышение курса акций, теперь сыграли на понижение и все сломали :)
Это надо уметь сделать все это стандартными настройками. Винда то дольше работает из коробки.
А catalyst под gnome 3 допилили? Или все таже радуга вместо панели?
18? каким образом можно столько набрать?
В статье так много прилагательных в превосходной степени, чтобы убедить читателя, что он действительно лучше?

На мой взгляд очевидно, что в примере с golden axe их алгоритм потер все детали, а в примере с чипом сделал его «пластелиновым»
Это безумие.
Вдумайтесь, для комфортного использования нужно поставить как минимум 4 разных пакета, разобраться в их конфигурировании, а на выходе получить конфиг, мало отличимый от любого другого.

Почему нельзя включить скрипты в пакет? Почему нельзя сделать стандартные настройки пригодными для повседневного использования? Почему нельзя, блин, установить его одним махом? Загадка.
Годится. Они попытались и получилось плохо.

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Зарегистрирован
Активность