LINUX.ORG.RU

LC - это метапрограммирование.

 , lc, ,


2

2

Осмысливая итоги своей прошлой попытки понять LC, пришла мысль, довольно очевидная, которая почему-то не приходила раньше.

LC - это метапрограммирование в чистейшем виде. Любая апликация возвращает либо другую аппликацию, либо абстракцию, которая «ждет» аргумента, чтобы вновь применить и абстрагировать. Иными словами, любое выражение LC - это диспетчер, который принимает на вход другого диспетчера, и возвращает его же. Выражение в LC не может манипулировать реальными программами, оно манипулирует только метапрограммами!

Отсюда возникает интересное следствие. LC имеет своего рода «утечку абстракции», только в прпотивоположном направлении. Когда мы пишем «обычную» программу, мы «спускаемся вниз» по абстракции. Например, если мы пишем:

(lambda(x y) (x y))
мы подразумеваем: взять любые 2 программы и применить одну к другой. Здесь мы подразумеваем, обычно, что на аргументные места призойдет подстановка реальных программ, которые выдадут нам какой-то результат. Никто не запрещает, конечно, подать такие программы, которые породят другую абстракцию, но ступени абстракции тут очевидны. Мы «спускаемся вниз» от общего к частному. Теперь рассмотрим другой код
(define tst
  (((lambda(x) (lambda(y) (x y))) (lambda(x) x)) (lambda(x) (lambda(y) (x y)))))

(write ((tst (lambda(x) x)) 'b)) ; --> b
Здесь, вроде бы очевидно, что мы «поднимаемся» по абстракции. Исходная метапрограмма берет на вход 2 метапрограммы, и применяет одну к другой. Но на выхлопе, мы имеем ту же метапрограмму, что и исходная! Неясно, на каком уровне абстракции мы работаем в каждый конкретный момент вычисления, абстракция «течет», уничтожаются барьеры абстракции, и это, на мой взгляд, коренное противоречие.



Последнее исправление: anonimous (всего исправлений: 2)
Ответ на: комментарий от no-such-file

Просто очень хочеться понять ЭТО, или понять наонец, что ЭТО не имеет смысла. Это стремление превращается в маниакальное:)

anonimous
() автор топика
Ответ на: комментарий от Xenius

Аббревиатуры пояснять надо, если применяешь.

Интересное мнение, неожиданное. Тогда, спрашивается, нах*я они вообще нужны.

anonimous
() автор топика
Ответ на: комментарий от anonimous

в начале поста один раз поясняешь, дальше по тексту свободно используешь.

guest_star
()
Ответ на: комментарий от anonimous

т.е ты предпочитаеш давать определение денотата некоторой буквопоследовательности через пересичение(нечёткое) примеров её применения , а не через (возможно искуственное) развоваричание из абривиатуры некоторого набора слов бэкронимизации.

ну и что такое атом LC?

qulinxao ★★☆
()
Ответ на: комментарий от qulinxao

ну и что такое атом LC

А мне кажется, что не может существовать атома. Если мы производим аппликацию, и при этом абстрагируемся от времени, мы считаем, что аппликация - это и есть результат. Если результат аппликации с нашей точки зрения ничем не отличается от самой аппликации, значит понятие атома сугубо условно. Как например если бы мы взяли некую неделимую частицу, и условно разделили бы ее на части. Атомом здесь будет являться условность - 1/3, или 1/4, все зависит от того, насколько мы разложили частицу, т.е. сугубо условная единица.

anonimous
() автор топика

Завязывай уже с поиском глубинного смысла и учись применять лямбда-счисление на практике. До философии тебе ещё далеко расти, начни с чего-нибудь попроще. Теории множеств и логики, например.

Кстати, термин «метапрограммирование» ты тоже не определил. На мой взгляд, ты имеешь в виду что-то другое.

anonymous
()
Ответ на: комментарий от anonimous

Пойми наконец, что ЛЮБАЯ вычислительная семантика, сколько их ни есть, это частный случай TRS. Когда поймешь TRS, поймешь все остальное.

anonymous
()
Ответ на: комментарий от anonymous

Кстати, термин «метапрограммирование» ты тоже не определил. На мой взгляд, ты имеешь в виду что-то другое.

Ну да, term rewriting легко принять за метапрограммирование, учитывая, что практически все реализации метапрограммирования сводятся к term rewriting.

anonymous
()
Ответ на: комментарий от anonymous

ты тоже не определил

В наиболее общем и очеведном смысле - это программа манимулирующая другими программами. В LC никаких данных кроме лямбда-абстракций не существует, а посему, любая аппликация, означает метапрограммирование.

anonimous
() автор топика
Ответ на: комментарий от anonymous

это частный случай TRS

Это переписывание термов? Если да, то я считаю, что семантика заключается не в переписывании термов, а в правилах переписывания. А для каждого частного случая не существует общих правил. Соответственно, любая семантика переписывания имеет смысл лишь в частных случаях. Это не основа, а инструмент. Она не может проверить свою собственную корректность без предусловий/аксиом, «данных свыше».

anonimous
() автор топика
Ответ на: комментарий от anonimous

А мне кажется, что не может существовать атома

http://ru.wikipedia.org/wiki/Соотношение_карты_и_территории

Мы говорим, что карта отлична от территории. Но что такое территория? Определяя операционально, некто пошёл с ретиной и измерительной палочкой и сформулировал репрезентации, которые затем поместил на бумагу. То, что на бумажной карте, это репрезентация того, что было в ретинальной репрезентации человека, создавшего карту. И если продвинуться дальше, всё, что обнаружишь, так это бесконечный регресс, бесконечная серия карт. До территории никогда не доходит. <…> Процесс репрезентации всегда отфильтровывает её, так что ментальный мир есть лишь карта карт без конца.

qulinxao ★★☆
()
Ответ на: комментарий от anonimous

Если да, то я считаю,

Мал ты еще умом, чтобы «считать» что-то там. Я ж сказал - возвращайся, когда все прочитаешь. Надоел уже, упоротый.

anonymous
()
Ответ на: комментарий от qulinxao

Я согласен с тем, что мы не можем остановить процесс поиска основания - т.е. ответить на вопрос, что есть основа. Мы не можем найти минимальный базис, который нельзя разделить надвое, независимо от того, возможно ли такое разделение физически или нет. Но говорить, что карта это и есть территория - нельзя. Другое дело, можно говорить, что сама территория - не есть самосущее, не есть основа. Она зависит, в том числе и от нашего субъективного восприятия ее. Но соотношение между картой и территорией примерно такое же, как между именем и значением. Классический пример этого - пример Фреге - утренняя звезда. Утреняя звезда и вечерняя звезда - имена указывающие на один и тот же объект - Венеру. Но всегда ли эти имена указывают на нее? Есть случаи, когда эти имена указывают на «звезду», но бывает, что это указание именно на утренюю звезду, например во фразе «Как только потускнела утреняя звезда, мы начали сборы». Здесь утреняя звезда != вечерняя звезда. Это говорит о том, что мы не можем делать выводы, куда указывает имя, вне контекста употребления. В случае с картой, ее отличие от территории примерно такое же. Карта Тихого Океана может сказать нам, о конфигурации побережья, точно также, как если бы мы смотрели на территорию в реале, но она ничего не скажет нам о шторме, на этом побережье. Поэтому, иногда карта - это территория, а иногда - нет.

anonimous
() автор топика
Ответ на: комментарий от anonimous

Родился на улице Герцена. В гастрономе № 22. Известный экономист. По призванию своему библиотекарь. В народе — колхозник. В магазине — продавец. В экономике, так сказать, необходим. Это, так сказать, система… эээ… в составе 120-и единиц. Фотографируйте Мурманский полуостров — и получаете te-le-fun-ken. И бухгалтер работает по другой линии. По линии «Библиотека». Потому что не воздух будет, а академик будет! Ну вот можно сфотографировать Мурманский полуостров. Можно стать воздушным асом. Можно стать воздушной планетой. И будешь уверен, что эту планету примут по учебнику. Значит, на пользу физики пойдет одна планета. Величина — оторванная в область дипломатии — дает свои колебания на всю дипломатию. А Илья Муромец дает колебания только на семью на свою. Спичка в библиотеке работает. В кинохронику ходит и зажигает в кинохронике большой лист. В библиотеке маленький лист разжигает. Агония будет вырабатываться гораздо легче, чем учебник крепкий. А крепкий учебник будет весомей, чем гастроном на улице Герцена. А на улице Герцена будет расщепленный учебник. Тогда учебник будет проходить через улицу Герцена, через гастроном № 22, и замещаться там по формуле экономического единства. Вот в магазине 22 она может расщепиться, экономика! На экономистов, на диспетчеров, на продавцов, на культуру торговли… Так что, в эту сторону двигается вся экономика. Библиотека двинется в сторону 120-и единиц, которые будут… эээ… предмет укладывать на предмет. 120 единиц — предмет физика. Электрическая лампочка горит от 120-и кирпичей, потому что структура у нее, так сказать, похожа у нее на кирпич. Илья Муромец работает на стадионе «Динамо». Илья Муромец работает у себя дома. Вот конкретная дипломатия! «Открытая дипломатия» — то же самое. Ну, берем телевизор, вставляем в Мурманский полуостров, накручиваем, там… эээ… все время черный хлеб… Дак что же, будет Муромец, что ли, вырастать? Илья Муромец, что ли, будет вырастать из этого?

anonymous
()

Ептыть, ждем постов в духе «HM — это метапрограммрование», «MLTT — это метапрограммирование», «SystemF — это метапрограммирование», «CIC — это метапрограммрование», «HoTT — это метапрограммрование». (Ничего не забыл?)

ТС, кончай копаться в говне 50-летней давности, лучше купи себе учебник по топологии.

Macil ★★★★★
()
Ответ на: комментарий от qulinxao

Когда я отвечал, я отвечал на Вашу цитату, и мне показалось, что там утверждается, что нет смысла проводить разницу между картой и территорией. Вот эта фраза меня смущает.

так что ментальный мир есть лишь карта карт без конца.

Никакого «ментального мира» вообще не существует. И это не линейный процесс, который предусматривает причинно-следственную связь, а просто пересечение событий. Рассуждать о восприятии как о линейном процессе, который поддается анализу, как о «карте карт» неправомерно. поскольку на каждом этапе формирования «предыдущей карты» на это формирование влияла не только предпредидущая, но и другие факторы, которые пересекались. Это не линейный процесс. По большому счету, все что мы можем - это присвоить нашим пересекающимся объектам от балды присвоить восприятия, абстрагировавшись от того, откуда они взялись, и отследить результат, поэтому я делаю упор на контекстах. Например:


(define John (lambda(msg) (if (eq? msg 'foo) 'true)))
(define Jack (lambda(msg) (if (eq? msg 'foo) 'false)))

(define is-true? (lambda(object msg) (object msg)))

(write (is-true? John 'foo)) ; --> true
(write (is-true? Jack 'foo)) ; --> false

Это все что мы можем, в плане анализа. Никакого true и false не существует. Когда мы все сводим к каким то категориям, мы прячемся в искусственный линейный мирок, который не имеет ничего общего с раальными процессами, в том числе и вычислительными, и сами же кастрируем свою выразительность и способность к абстрагированию, ИМХО

anonimous
() автор топика
Ответ на: комментарий от guest_star

Анонимный товарищь, однако, прилежен и терпелив, а также трудолюбив ниподеццки, нельзя не отметить.

anonimous
() автор топика

Даже не сомневался в том, кто автор.

anonymous
()
Ответ на: комментарий от Macil

купи себе учебник по топологии

свят свят свят фридман кто написал библию?

qulinxao ★★☆
()

Родился на улице Герцена, в гастрономе № 22. Известный экономист, по призванию своему — библиотекарь. В народе — колхозник. В магазине — продавец. В экономике, так сказать, необходим. Это, так сказать, система… эээ… в составе 120 единиц. Фотографируете Мурманский полуостров и получаете te-le-fun-ken. И бухгалтер работает по другой линии — по линии библиотекаря. Потому что не воздух будет, академик будет! Ну вот можно сфотографировать Мурманский полуостров. Можно стать воздушным асом. Можно стать воздушной планетой. И будешь уверен, что эту планету примут по учебнику. Значит, на пользу физики пойдет одна планета. Величина, оторванная в область дипломатии, дает свои колебания на всю дипломатию. А Илья Муромец дает колебания только на семью на свою. Спичка в библиотеке работает. В кинохронику ходят и зажигают в кинохронике большой лист. В библиотеке маленький лист разжигают. Огонь… эээ… будет вырабатываться гораздо легче, чем учебник крепкий. А крепкий учебник будет весомее, чем гастроном на улице Герцена. А на улице Герцена будет расщепленный учебник. Тогда учебник будет проходить через улицу Герцена, через гастроном № 22, и замещаться там по формуле экономического единства. Вот в магазине 22 она может расщепиться, экономика! На экономистов, на диспетчеров, на продавцов, на культуру торговли… Так что, в эту сторону двинется вся экономика. Библиотека двинется в сторону 120 единиц, которые будут… эээ… предмет укладывать на предмет. 120 единиц — предмет физика. Электрическая лампочка горит от 120 кирпичей, потому что структура, так сказать, похожа у нее на кирпич. Илья Муромец работает на стадионе «Динамо». Илья Муромец работает у себя дома. Вот конкретная дипломатия! «Открытая дипломатия» — то же самое. Ну, берем телевизор, вставляем в Мурманский полуостров, накручиваем там… эээ… все время черный хлеб… Так что же, будет Муромец, что ли, вырастать? Илья Муромец, что ли, будет вырастать из этого?

vonenij
()
Ответ на: комментарий от anonymous

Собрался ее всю переизобрести?

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

anonimous
() автор топика
Ответ на: комментарий от Dark_SavanT

Может. А может кто-то акк младшему брату отдал. А может кто-то лекарства принимать перестал.

guest_star
()
Ответ на: комментарий от vonenij

Тут тоже существует любопытное соотношение, которое хорошо ложиться на теорию ТСа. Сверхценная идея - это в глазах большинства людей маниакальный бред, к примеру, спасти абсолютно всех голодающих — сверхценная бредовая идея, и ее бредовость вполне очевидна. Но может существовать идея, воспринимаемая большинством или всеми как бредовая, но таковой не являющаяся. Если какая-либо идея не может быть оценена какой-либо группой людей, очевидно, что она будет отнесена ими в разряд бредовых. Соответственно, если предположить, что существует человек, который на порядок умней остальных людей, он неприменно будет воспринят как носитель сверхценной идеи, говоря попросту - сумасшедшим. Может быть, как раз в этой плоскости лежит разгадка того, что большинство гениальных математиков страдали душевными заболеваниями, в той или иной степени.

anonymous
()
Ответ на: комментарий от vonenij

А в каком именно месте? Аргументы можно услышать? По каким конкретно признакм ты идентифицировал сходство?

anonimous
() автор топика
Ответ на: комментарий от anonymous

Ну да, если бы Эйнштейн начал бы рассказывать бабкам на базаре о своей теории, его бы приняли за юродивого, независимо от его «идей», их «правильности/неправильности», все логично=)

new_1
()
Ответ на: комментарий от anonymous

Ну ждем от него новых теорий.

воспринимаемая большинством или всеми как бредовая, но таковой не являющаяся.

Тут дело в отношении ТС'а к своим идеям. Может быть я хочу спасти всех голодающих 1 час 1 раз в неделю, а в остальное время я обычный человек. Тут нет речи о сверхценной идее, так как я отношусь к ней вполне нейтрально, она меня не захватывает итд. Скорее, это что-то вроде диванной философии. Но другое дело, это если я в режиме 24/7 ношусь с ней по форумам и обзываю всех несогласных быдлом, записывая чуть ли не в личные враги.

Может быть, как раз в этой плоскости лежит разгадка того, что большинство гениальных математиков страдали душевными заболеваниями

Да, они такие:) Разве что из ихней одержимости что-то да выходит, а что же выйдет из ТСа, не ясно

vonenij
()
Ответ на: комментарий от kvitaliy

Ну, в мат-ке есть некоторые красивые, изящные, плодотворные идеи, но 99% - это говно. Математика разжирела, и превратилась в неповоротливого монстра (можно сравнить с плюсами, да, современная математика похожа на плюсы). Нет смысла изучать все подряд, пропуская через себя тонны говна, только для того, чтобы выбросить потом на помойку.

anonimous
() автор топика
Ответ на: комментарий от anonimous

1) По твоему стилю общения. По тому, что несогласных ты готов прибить на месте. Что, скажешь, не называл никого быдлом?

Машина тьюринга (комментарий)

2) Считаешь себя умнее других. Может и не без оснований, но сам понимаешь, каков этому шанс

vonenij
()
Ответ на: комментарий от anonimous

Нет смысла изучать все подряд, пропуская через себя тонны говна, только для того, чтобы выбросить потом на помойку.

Конечно нет. Есть разделы поинтереснее, есть поскучнее. Найди себе подходящий

vonenij
()
Ответ на: комментарий от vonenij

стилю общения

Это было ответом на оскорбление. Не надо передергивать. Я не профи, и пытаюсь учиться. Ставлю вопросы которые мне интересны на текущий момент, и не претендую на истину в последней инстанции. Если кому-то интересна поднятая тема, он заходит и отписывается. Что заставляет постить оскорбления и чушь других субъектов, которым, казалось-бы нет никакого дела до моих ошибок, догадайся сам с 3-х раз.

anonimous
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.