Коварное подсознание
От: Панда Россия  
Дата: 17.01.08 08:40
Оценка: 77 (29) +4 :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :)))
Сегодня мне снился замечательный сон. Мне приснилось, что я изобрел новый, совершенно потрясающий стиль программирования. Программы, написанные этим стилем, получались очень компактными и очень легко читаемыми. По крайней мере, во сне, когда я переписывал существующую программу в новом стиле, то она уменьшалась раз в десять. И очень легко читалась, потому что одним взглядом можно было охватить кусок, который раньше занимал несколько страниц, и сразу понять, что он делает и как.

Смысл новой концепции был таков.

Программа сильно распухает в объемах, потому что в ней используются длинные мнемонические идентификаторы. От этого надо уходить. Вот в перле, например, часто используется такая переменная, как '$_', которая каждый раз означает разное. Я же додумался, что было бы чертовски эффективно использовать символ '|' Этот символ — самый узкий из всех символов. Поэтому программа получится наиболее компактной.

Этот символ надо использовать везде — и в качестве переменных, и в качестве аргументов функций. Если у функции несколько аргументов, то надо использовать кэрринг и сводить ее к нескольким функциям с одним аргументом. В конце концов, мне удалось даже строго математически доказать, что любую программу на любом языке можно переписать с использованием одного единственного идентификатора '|' для всех переменных. Доказательство было очень коротким, в одну строчку, и очень изящным. К сожалению, проснувшись, не смог его воспроизвести. Используя примитивный препроцессор, который я написал во сне за пять минут, мне удалось добиться, чтобы символ '|' использовался также для названия всех классов и названия всех функций, и всех методов классов, и всех других идентификаторов, используемых в данном языке (язык при этом неважен, препроцессор не вникал в семантику, а просто по хитрому правилу заменял все найденные '|' на обычные иденитфикаторы, чтобы все это потом нормально скомпилировалось). Какую именно переменную, класс или функцию мы имеем в виду, написав '|' — зависело от контекста. Например, при первом упоминании | имеется в виду первый по счету класс, при втором упоминании — второй по счету класс, и так далее. Просто описывай классы в том порядке, в котором будешь использовать, и все само собой получится. Аналогично с функциями, и т.д.

Подумав еще, я решил, что названия функций можно вообще сделать пустыми. Все функции будут безымянными. Если встречается открывающая скобка — то компилятор или интерпретатор понимает, что мы вызываем безымянную функцию, и дальше в скобках будет ее единственный аргумент — '|'.

И вот я, наконец, проснулся, и побежал к компьютеру, пытаясь удержать в голове такую замечательную парадигму программирования и хоть что-нибудь успеть записать, потому что сны я быстро забываю.

Я срочно открыл нотпад и дрожащими руками записал, как будет выглядеть вызов безымянной функции от единственного аргумента |

(|)

Вглядевшись, я узнал что-то знакомое в этой картинке. Это было потрясением. До чего жестоко и коварно мое подсознание. Оно решило меня оскорбить. Оно могло бы просто приснить мне жопу. Но нет, это было бы слишком грубо и примитивно! Оно решило добиться, чтобы я сам себе нарисовал жопу, не подозревая об этом до последнего момента! Оно начало издалека. И блестяще подстроило мне ловушку, в которую я попался, как последний лох. :'(

Временами я слышу, как где-то в глубине души раздаются злорадные смешки.
Re: Коварное подсознание
От: haba_haba_haba Россия  
Дата: 17.01.08 09:22
Оценка:
Здравствуйте, Панда, Вы писали:



П>Я срочно открыл нотпад и дрожащими руками записал, как будет выглядеть вызов безымянной функции от единственного аргумента |


П>(|)


П>Вглядевшись, я узнал что-то знакомое в этой картинке. Это было потрясением. До чего жестоко и коварно мое подсознание. Оно решило меня оскорбить. Оно могло бы просто приснить мне жопу. Но нет, это было бы слишком грубо и примитивно! Оно решило добиться, чтобы я сам себе нарисовал жопу, не подозревая об этом до последнего момента! Оно начало издалека. И блестяще подстроило мне ловушку, в которую я попался, как последний лох. :'(


П>Временами я слышу, как где-то в глубине души раздаются злорадные смешки.


Ну и нельзя не вспомнить Хаскель. Там есть вот такая вот "конструкция" (_|_)

Re[2]: Коварное подсознание
От: Pentium133  
Дата: 17.01.08 09:51
Оценка:
Здравствуйте, haba_haba_haba, Вы писали:

__>Ну и нельзя не вспомнить Хаскель. Там есть вот такая вот "конструкция" (_|_)


Небольшое уточнение (_!_)
Re[3]: Коварное подсознание
От: IID Россия  
Дата: 17.01.08 10:08
Оценка: :))) :))) :)
Здравствуйте, Pentium133, Вы писали:

P>Здравствуйте, haba_haba_haba, Вы писали:


__>>Ну и нельзя не вспомнить Хаскель. Там есть вот такая вот "конструкция" (_|_)


P>Небольшое уточнение (_!_)


Полноценная жопа =) Кроме разреза еще и дырка есть!
kalsarikännit
Re: Коварное подсознание
От: Kore Sar  
Дата: 17.01.08 10:22
Оценка:
Я плакал. Шедеврально!
Re: Коварное подсознание
От: mihoshi Россия  
Дата: 17.01.08 10:42
Оценка:
Здравствуйте, Панда, Вы писали:

П>Я срочно открыл нотпад и дрожащими руками записал, как будет выглядеть вызов безымянной функции от единственного аргумента |


П>(|)


Это все потому, что теории не знаешь. Это штука на самом деле называется не |, а Y (он же Y-комбинатор).
Т.е. получается (Y). Что можно интерпретировать уже по разному :P.

P.S. Кстати, скобки там тоже лишние, на самом деле.
Re: Коварное подсознание
От: Кодт Россия  
Дата: 17.01.08 11:02
Оценка: 3 (1) :))) :))) :))
Здравствуйте, Панда, Вы писали:

Берём любой базис из комбинаторной логики — и вуаля. Вообще нет имён переменных.

В хаскеле, помимо задницы (_|_), которая, вообще-то, в синтаксисе отсутствует и фигурирует лишь в описаниях, иногда встречаются сиськи (.)(.) — это если чересчур увлечься point-free программированием.

А поскольку язык позволяет давать инфиксным операторам любые имена из знаков пунктуации, можно такое кавайное ня устроить, что японцы будут плакать и рыдать.
_ >^.^< _ = putStrLn "miau!"
__ = 0

main = __ >^.^< __
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
Re[4]: Коварное подсознание
От: Кондраций Россия  
Дата: 17.01.08 12:48
Оценка:
Здравствуйте, IID, Вы писали:

IID>Здравствуйте, Pentium133, Вы писали:


P>>Небольшое уточнение (_!_)


IID>Полноценная жопа =) Кроме разреза еще и дырка есть!


Академическая точность!!! Не зря говорят, что Хаскель учёные придумали! Крайне внимательные мужики.
Сообщение заговорено потомственным колдуном, целителем и магом в девятом поколении!
Модерирование или минусование сообщения ведет к половому бессилию, венерическим заболеваниям, венцу безбрачия и диарее!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.