OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 16 Октябрь, 2019 00:04

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Вторник, 08 Июнь, 2010 01:08 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 516
Откуда: Бердск
Отделено отсюда: viewtopic.php?f=86&t=2237

Мдаа ужжж.....
Здоровый пластище оказался... Для моего-то мозга, необремененного функциональной парадигмой, и вершинами Рефала... :)
Мне показалось наиболее вразумительным вот здесь: http://metacomputation-ru.blogspot.com/ ... notes.html

Произвело впечатление, между прочим.
ОКАЗЫВАЕТСЯ - существует технология, которая мой MathParse (вообще то, интерпретатор, в терминах этого топика - Царь-библиотеку) в конкретный вычислительный алгоритм, коль скоро в run-time никто вычислительную формулу не меняет.

Илья, помните, я говорил Вам нечто типа: "фиг какой компилятор это сделает" :?:
Ну вот, я оказался не прав :!: Не только это делает (превращает интерпретатор в конретное вычисление)... но и, скажем, превращает интерпрететор НКА - в ДКА (сам!!!) для конкретного регулярного выражения...

И чего получается??? А получается, что, упомянутая коллегами необходимость "сохранять для себя" конкретные, но более эффективные реализации более универсальных модулей - ОТПАДАЕТ
ЕСЛИ данная технология таки войдет в жисть :D
Но как-то долго у них там все варится.....

Как бы, на Рефал-5, в качестве базового языка для HiAsm - я пока еще не созрел.... :)
А смотрелось бы не плохо: всякая схема представляется как некий шаблон из рефал-исходников элементов, и к ней применяется SCP4... Ну и так далее, вверх по уровням.
И пускай себе отдельные элементы (и "разъемные соединения" между ними!!!) являются не эффективными "Царь-библиотеками"
Это как раз то, чего нам жутко не хватает... Но, не созрел еще...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 08 Июнь, 2010 07:09 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3093
Откуда: Астрахань
Вот-вот. Смысла корячиться писать обобщенный вариант - просто нет. Сейчас почсему пишут? Чтобы один раз написать и забыть. Но все одно, на все случаи жизни не напишешься... Поэтому неизбежно наступает момент, когда все одно требуется конкретно снова сделать то же самое... :)
Так что метавычисления - это как раз оно и есть - сделать самый конкретный вариант под конкретную задачу, просто подставив известные на момент значения данных... Я еще в 86 году восхитился... :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 08 Июнь, 2010 10:10 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 516
Откуда: Бердск
Валерий Лаптев писал(а):
Я еще в 86 году восхитился...

В этом-то и фишка, что в 86-м... :(
А сегодня - 2010-й. И кроме Рефала (причем 5-го, мне 6-й или плюс - больше бы подошли в виду ссылочной технологии), как-то ничего и не видно.
Может еще лет 30 подождать надо :?: :D
Или, может быть, мы все не тем занимаемся, чем надо :?:
Типа: лучше день потерять, зато потом за 5 минут долететь.........

Да вот, хотел бы отметить, что супер-компиляция - это несколько больше, чем просто специализация... Мне так кажется.
Ну, грубо говоря, вторая проекция Футамуры через "специализацию" - делает компиляторы. Того качества, которое мы сегодня имеем в многочисленных примерах.
А через "суперкомпилятор" - уже суперкомпиляторы. Да, да, такие компиляторы, которые сами из НКА делают ДКА, а при поиске в строке конкретной подстроки - "предкомпилируют" вторую ((опять же - сами!))

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


Последний раз редактировалось Galkov Вторник, 08 Июнь, 2010 13:42, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 08 Июнь, 2010 11:27 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3093
Откуда: Астрахань
ИМХО фирмам просто невыгодно. Лучше стричь бабки за счет версий... :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 08 Июнь, 2010 11:44 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Galkov писал(а):
А сегодня - 2010-й. И кроме Рефала (причем 5-го, мне 6-й или плюс - больше бы подошли в виду ссылочной технологии), как-то ничего и не видно.
Методы суперкомпиляции используются в одном из экспериментальных компиляторов Хаскелла -- Neil Mitchell, Supero

Galkov писал(а):
... вторая проекция Футурамы ...

Футамуры


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 08 Июнь, 2010 13:45 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 516
Откуда: Бердск
Geniepro писал(а):
Футамуры
Упсс :oops:
Geniepro писал(а):
Neil Mitchell, Supero
Угу, слышал....
Но я еще не настолько виртуоз в функциональном программировании... И показалось мне, что фигу на Haskell реализуется парадигма ООП в "неприкрытом виде". Будет обязательно какое-нибудь "левой ногой правое ухо"
Возможно, что только показалось...

НО, в Рефале есть возможность хранить абстрактные данные (тело объекта), и совершать над этими данными некие "побочные" действия, оскорбительные для апологетов функциональной парадигмы.
"Хранимые глобальные данные" - это такая фигня, что она либо есть в языке, либо ее нет.
Ну вот, показалось (!!!) мне, что в Haskell это только через доп.аргументы... Типа, если хочешь узнать реакцию на некоторое сообщение - изволь доложить обо всем, что было ранее начиная с 17-го года...

И тут у меня затруднения с функциональной парадигмой: ну не получается у меня (с самого начала!!!) устроить декомпозицию основной задачи на элементы, не обладающие "памятью"...
Когда-то были затруднения с ООП-подходом...
А сегодня - ну нужна мне, предположим, некая система управления. И как не попытаюсь "разбить на части" - обязательно какой-нибудь "цифровой фильтр" вылазит :)
И так это устойчиво происходит, что возникает подозрение, что именно так (а не иначе) и устроена жизнь. Как бы это не было противно функциональщикам :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 08 Июнь, 2010 14:56 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Galkov писал(а):
И показалось мне, что фигу на Haskell реализуется парадигма ООП в "неприкрытом виде". Будет обязательно какое-нибудь "левой ногой правое ухо"
Возможно, что только показалось...
Я, конечно, не стану реагировать на слово "ООП" как бык на красную тряпку, но тем не менее зачем он нужен в Хаскеле?
Хотя были люди, посчитавшие, что это может быть интересно, изобретали гибридные языки типа O'Haskell или библиотеки, с которыми можно имитировать ООП-стиль.

Galkov писал(а):
Ну вот, показалось (!!!) мне, что в Haskell это только через доп.аргументы... Типа, если хочешь узнать реакцию на некоторое сообщение - изволь доложить обо всем, что было ранее начиная с 17-го года...
Для подобных целей хаскеллеры изобрели монады -- упрятывают мутабельное состояние в некий типа контейнер, а снаружи всё выглядит вроде как вполне чисто. Монада State, например.

Galkov писал(а):
И тут у меня затруднения с функциональной парадигмой: ну не получается у меня (с самого начала!!!) устроить декомпозицию основной задачи на элементы, не обладающие "памятью"...
Когда-то были затруднения с ООП-подходом...
Вот может быть Вы слишком привыкли к такому стилю мышления?

Galkov писал(а):
А сегодня - ну нужна мне, предположим, некая система управления. И как не попытаюсь "разбить на части" - обязательно какой-нибудь "цифровой фильтр" вылазит :)
Не совсем понял, почему цифровой фильтр должен не укладываться в ФП? Вполне укладывается. Зачем ему доступ к глобальному мутабельному состоянию? Почему бы не передать это состояние как один из его параметров, в крайнем случае?

Galkov писал(а):
И так это устойчиво происходит, что возникает подозрение, что именно так (а не иначе) и устроена жизнь. Как бы это не было противно функциональщикам :D
А кому сейчас легко? :lol:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 08 Июнь, 2010 18:08 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1408
Geniepro писал(а):
А кому сейчас легко? :lol:

Мне.
Я слишком дорого заплатил за "приверженность" тому или иному стилю. Теперь - Господь или некий Мировой Закон Равновесия Во Всём - дал мне, после всех этих блужданий и поисков, Призовую Игру - пишу, как считаю удобным для себя и нужным для решения задачи.
(Хотя, может просто, с течением времени количество в качество перешло? :) Наверное, я просто "перетерпел" некую "черту" (скорее всего - возрастную и сумму опытов), после которой больше уже не мучаешься поисками способов и средств решений, а просто осознаёшь конечность времени и собственных ресурсов, не обращая внимания на мелочи, типа "соблюдения стиля"... )


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 08 Июнь, 2010 20:58 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3093
Откуда: Астрахань
+1000!!!!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 08 Июнь, 2010 21:20 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9147
Откуда: Россия, Орёл
Ну, понятие стиля - это нечто из лексикона программистов, математиков, литераторов... И связано с текстом. И стиль, понятно дело, не предмет для фанатизма.

А есть ещё другая сторона - природа каких-то явлений. В естественнонаучном смысле. И вот про это забывать не стоит. И в жертву сиюминутному удобству приносить - тоже. Не будут наши умственные выкрутасы соответствовать существу дела - получим рано или поздно граблями по лбу.

Вопросы циклов, кстати, явно из второй оперы, а не из первой. Алгоритм - это понятие системное, а не чисто математическое. Описание поведения каких-то систем.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 08 Июнь, 2010 23:18 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1408
Илья Ермаков писал(а):
Ну, понятие стиля - это нечто из лексикона программистов, математиков, литераторов... И связано с текстом.

Не всегда стиль - лишь результат совокупности типичных, "привычных" приёмов по оформлению текста (расположение, вид переменных, отступы, пустые строки)...

Возьмём поэзию... Например, стихи Маршака или Михалкова узнаваемы. А уж про Бродского, Маяковского (позднего) или Сашу Чорного - и говорить не приходится!
Даже в своих переводах с других языков они узнаваемы. Шекспира Пастернака не спутаешь с маршаковским и оба ни в какое сравнение не идут с Лозинским! А уж как последний переводил Киплинга - СКАЗКА! Разве здесь важен ТЕКСТ? Да - ни в коей степени! Или - не в первую очередь! Важен внутренний ритм, передача мелодики, ритмики, нарастание и спад мелодических ударений в строфах и частях, следование (угадывание) общего смысла и настроения переводимого автора. Почему я именно на переводческую работу обращаю внимание? Потому, что она сродни тому, чем мы занимаемся в нашей отрасли: мы на языке программирования отражаем наши мысли, системы, логические ходы рассуждений и решений. Как бы "замысел", в случае перевода поэтического произведения - уже есть. Он как-то уже запечатлён ("формализован" особыми приёмами). Но - на другом языке. Хотя и сказано, что мысль изреченная есть ложь, но по-иному, пока не научились... :) То есть, мысль, идея, план повествования и "развёртывания", передачи идей - уже сделан. Надо только его "вербализировать" на другом языке - практически заново изречь.
Как это сделать, кроме того, что записать буквами алфавита другого языка слова-аналогии этого языка?
Вот тут и начинают "играть" неявные стили - способы выражения своих мыслей.
И, смотрите, что выходит:
(удивительно! вознамерился искать по-отдельности для иллюстрации, примеры, а какой-то хороший человек угадал заранее моё желание и поместил все переводы на одной страничке! даже те, про которые я и не слышал! спасибо этому человеку! )

http://www.iis.nsk.su/news/events/20050 ... ling.shtml

(Кстати, заметьте, что перевод Лозинского идёт раньше Маршака! Ну, понятное дело, что перевод Ершова - первый после оригинала ;) , но смотрите, насколько точно строй стиха Лозинского передаёт речь и идеи Киплинга. Перевод Лозинског практически можно заучить читая!)

Вернёмся к программированию.

Когда я говорю о "стиле", я не оформительские вопросы больше имею в виду, а - стиль способа отображения семантики и описаний структур задачи на соответствующие элементы языка программирования и текста программ. Здесь стиль имён, расположение управляющих конструкций, форма представления и расположения описаний - вторичны. Более важен стиль оперирования с информацией, анализ условий и состояний (способ их получения, хранения и представления внешним сущностям, логические выделения моментов их рождения, "означивания", переназначения, гибели), выделение ключевых мест, связанных с описанием правил и дисциплины привязки жизненных циклов элементов программы.

Ну, вот помните, я как-то написал, что обычно в методе-"действии" выполняю основные операции после всех проверок в предусловиях? И в этих проверках, в случае негативного ответа, - немедленно покидаю программу через оператор возврата. Это - именно вопрос стиля: проверка всех условий, которые НЕ позволяют выполнить затребованную операцию и "некрасивый", "внеструктурный" выход из метода! Почему? Потому, что невыполнение предусловия - "бяка". Нечто неприятное, "резкое", "ненормальное". И я таким, "колющим" восприятие, образом акцентирую внимание на местах покидания метода "нехорошим", "нештатным" способом.

То же самое, например, - про способ объявления переменных и их МЕСТА: я стараюсь объявить (и - проинициализировать, по возможности и логике) текстуально максимально близко к первому месту, где эта переменная будет использоваться.
Одна из причин - в алгоритмах ветвления с вложенностью больше двух, разные ветки прохождения трассы программы могут потребовать введения разного набора переменных (разных типов). Практически, может оказаться, что разные подветки решения - просто кардинально различающиеся алгоритмы (и не всегда имеет смысл выносить-оформлять их в отдельные функциональные единицы). Так зачем же мне путать читателя моей программы и "забивать" ему мозги кучей промежуточных переменных, описываемых в начале тела метода? "Переиспользованием" одних и тех же переменных в разных ветвях алгоритма я, может быть и экономлю память (стек?), но зачем же нагружать пользователя разной семантикой и её учётом в зависимости от подветки алгоритма? Пусть всё будет иметь зоны максимально ограниченной ответственности! - порядка двух-десяти строчек!

И т.д.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 09 Июнь, 2010 00:22 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 516
Откуда: Бердск
Geniepro писал(а):
Я, конечно, не стану реагировать на слово "ООП" как бык на красную тряпку, но тем не менее зачем он нужен в Хаскеле?
За Хаскел не скажу, а за себя - МНЕ нужен :)
Ну вот есть у меня граф.язык который просто и не навязчиво заставляет детей работать в парадигме "все есть объект", и они этого даже не подозревают.
Порог вхождения в этот граф.язык - крайне низкий. Не могу я от этого отмахнуться, ибо это экспериментальный факт.
Нравится-не нравится - уже по боку, ФАКТ, он и в Африке ФАКТ.
Ну вот, как нарисовать кодовый шаблон для схемы - мне понятно на Рефале... Но не на Хаскеле (возможно, только пока). Понятно, потому-что я вижу аналог "оператора присваивания" (наверное вот он - термин, категорически отделяющий функциональную парадигму от императивной)
Как бы ничего личного:
  1. вот оно
  2. отмахнуться не могу
  3. с "оператором присваивания" понятно, а без него - нет.

Ну ладно, в качестве дскусионной разминки - давайте посмотрим на создателей Рефала...
Разве их можно назвать апологетеми ООП ???
Вроде бы и нет.
Чистые функциональщики, на первый взгляд. А оператор присваивания появился еше во 2-м Рефале (который я все-таки не смотрел с пристрастием). В пятом - это именованные Bury-Dig стеки. В шестом и плюсе - ссылка на объект уже является штатным термом.
У них чего, ума нету что-ли :?: Не готов я до такого заключения :)

Geniepro писал(а):
а снаружи всё выглядит вроде как вполне чисто. Монада State, например
Ну да, видел у Душкина ...
Но как-то это заканчивается (точнее - начинается) таки каким-то initStateAndRun
Вот и показалось мне поэтому, что эти "незаметности" - не более чем синтаксический сахар....
Это же FrontEnd-овские вопросы ведь!!!
Не стоят в моих требованиях к базовому языку такие понятия как надежность, краткость, понятность, и т.п.. Все это - в графическом FrontEnd-е, в котором и синтаксическую ошибку сделать невозможно... А код на базовом языке должен бы генерироваться автоматически, следовательно - безошибочно... независимо от качества языка
Да хоть Forth, лишь бы результат был :)
Почему я заинтересовался Рефалом - да только потому, что там SCP4 есть.
Почему сомневаюсь в Хаскеле - а фиг его знает как без "оператора присваивания" обойтись
В общем, довольно приземленные мотивы :D

Geniepro писал(а):
Зачем ему доступ к глобальному мутабельному состоянию? Почему бы не передать это состояние как один из его параметров, в крайнем случае?
Передать легко. Если знаешь откуда взять
Ну ясный перец, его возвращает тот, кому он и передается...
Ну вот и получается, что я должен рассказать своему "фильтру" всю историю входного сигнала, начиная с 17-го года.
И это МОЖНО, если тебя ничего не интересует кроме этого конкретного фильтра в этой конкретной ситуациии
Но меня интересует другая задача - мне нужен "кирпич" под названием "цифровой фильтр" для строительства другого здания... Пока не знаю какого, поэтому нужно - чтобы любого
Для это мне надо абстрагироваться от всей "предыстории входного сигнала"
Спрашивается, как это сделать, если "оператор присваивания" объявлен ересью :?: :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 09 Июнь, 2010 00:33 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 516
Откуда: Бердск
Валерий Лаптев писал(а):
ИМХО фирмам просто невыгодно. Лучше стричь бабки за счет версий... :)

Да за них-то понятно!
А мы :?:
Блин, такой фундаментальный (читай - достойный восхищения) вопрос, а там 2.5 человека трудятся в свободное от работы время...
Велика Россия, а Работать некому :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 09 Июнь, 2010 06:21 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1408
Galkov писал(а):
Велика Россия, а Работать некому :D

Да нет, работать, как раз ЕСТЬ кому. Править (в смысле - Управлять) - НЕКОМУ!
Не "руководить", а именно - "управлять".
Лидеры особо не нужны и "руководители", нужны управляющие.
А у нас слово manager переводят или как "руководитель", или - манагер.
А ведь достаточно посмотреть на устойчивые обороты в английском языке, что бы понять, что manage, это - "справиться", "суметь", "смочь". То есть эффективно преодолеть ситуацию и получить преимущество ( ну, или, по крайней мере, получить приемлемые потери)...
Можете себе у нас такого "мэнэджэра" представить? Что бы - в поту, со сморщенным лбом, с высоким уровнем специальных знаний в отрасли, где он "руководит", с дотошным разбиранием ситуаций, раскапыванием техпроцессов, анализом действительно рабочих "хаков", помогающих улучшить эргономику и характеристики изделий ? Что бы - без апломба, и - россыпи дипломчиков о "прослушанных курсах" (на манер увиденного в американских фильмах) на стенке за спиной, а - на объекте?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 09 Июнь, 2010 09:11 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Galkov писал(а):
Ну вот, как нарисовать кодовый шаблон для схемы - мне понятно на Рефале... Но не на Хаскеле (возможно, только пока). Понятно, потому-что я вижу аналог "оператора присваивания"
...
Почему сомневаюсь в Хаскеле - а фиг его знает как без "оператора присваивания" обойтись
В общем, довольно приземленные мотивы :D
Можете привести пример этой задачи, которую Вы легко решите на Рефале, но не представляете как -- на Хаскелл. Чисто любопытно, что такого можно решить на Рефале, что будет труднее или вообще невозможно решить на хаскелле? Ну, кроме палиндромов.

Galkov писал(а):
Но меня интересует другая задача - мне нужен "кирпич" под названием "цифровой фильтр" для строительства другого здания... Пока не знаю какого, поэтому нужно - чтобы любого
Для это мне надо абстрагироваться от всей "предыстории входного сигнала"
Спрашивается, как это сделать, если "оператор присваивания" объявлен ересью :?: :)
Что Вы имеете в виду под "цифровым фильтром"? Почему он должен зависеть от неопределённого несконцентрированного глобального состояния и почему он обязательно должен его менять (мутировать) с помощью оператора присваивания?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 09 Июнь, 2010 09:22 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9147
Откуда: Россия, Орёл
Хотя бы потому, что с "фасада" он может быть чистой функцией, а "с заду" иметь сколько угодно регулировок и параметров и функционировать в некотором контексте.

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

Представьте, что у Вас есть программа на ФЯ, а Вы берёте и делаете каждую функцию динамически меняющей своё поведение (переключение реализаций и т.п.). В системных задачах это очень важно; не говоря про реальные производительные вычисления. Т.е. при некотором стиле ОО-программирования ФП окажется просто его статической заморозкой. Чистый же ФЯ своей статичностью мешает решению архитектурных задач.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Среда, 09 Июнь, 2010 12:22 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 516
Откуда: Бердск
Geniepro писал(а):
Можете привести пример этой задачи, которую Вы легко решите на Рефале, но не представляете как -- на Хаскелл. Чисто любопытно, что такого можно решить на Рефале, что будет труднее или вообще невозможно решить на хаскелле? Ну, кроме палиндромов.
Ну решить можно все.
Извернуть мозги - и решить.
Как бы сразу подчеркну - не сторонник я Рефала, и знаком с ним всего 2-3 недели. с Хаскелом - еще в меньшей степени... И знаком по причинам, которые указал выше - иначе меня туды и калачом бы не заманили.
Просто размышляю. И предполагаю, что работа с графами (т.е., со структурами менее тривиальными, чем деревья) при отсутствии понятия ссылки (и, конечно, возможности создавать циклы) будет значительно напряжнее.
В том же описании на Рефал+ от Романенко - они дерево уже нарисовали (пример в разделе 1.11.9) в совершенно императивном стиле: создают динамически узел, и ссылку (даже не утруждают себя придумыванием имени) на него помещают в узел-родитель.
Умеют же они обыкновенные деревья рисовать без ссылок и динамики. Умеют, и сто раз это делали. Но вот же...

Возможно все конечно же, но гордиться умением чесать левой ногой правое ухо - не думаю, что правильно. Да есть вещи, решаемые более изящно за счет декларативности. Где ответы на вопрос "как" - ничего не добавляют ни уму ни сердцу...
Но порой же - просто нет слов... одни мысли... и все нецензурные.
Такое (что-то очень хорошо, а что-то - наоборот) обычно бывает когда не совсем то возводится в фундаментальную основу мира... Близко, но не совсем то. Это не категорическое утверждение, а лишь мысли вслух :)
Кстати говоря, исключения в виде палиндромов - тоже не добавляет уверенности в фундаментальности Базы

BTW: Интересное дело.... У меня как-то не возникало сомнений, что HiAsm - это императивная штука. А тут начитался про функциональну парадигму, и задаю себе вопрос: электронная схема - это декларативные знания, или таки императивные...
А :?: :)


Geniepro писал(а):
Что Вы имеете в виду под "цифровым фильтром"? Почему он должен зависеть от неопределённого несконцентрированного глобального состояния и почему он обязательно должен его менять (мутировать) с помощью оператора присваивания?
Вот его и называю. Поэтому и в кавычках, что это некое обобщение необходимости хранить в себе у нутре предысторию жизнедеятельности в каком-то виде.
Почему должен... Ну я же высказывал гипотезу - жизнь так устроена, наверное.
Вот смотрю на проявление этой жизни у меня на столе. И вижу датчик положения, например ЛИР-350. Это такая штука, которая на каждый микрон перемещения изменяет один из двух своих цифровых сигналов - и ВСЕ, ничего военного.
И как я должен считать абсолютную координату без "неопределённого несконцентрированного глобального состояния"
Должен ли я его менять (мутировать) в ответ на сообщения об электрических катаклизмах по двум входам ???
Ну давайте вместе ответим - я ведь не придумывал про жизнь ничего, а просто посмотрел на свой рабочий стол :)

Повторюсь ведь - как Задачу это решить можно, извернув мозги догмой, что ничего не бывает в отдельный момент времени, а только в историческом контексте. Типа: не бывает "двух электрических сигналов", а только их неограниченная последовательность. Начиная с Большого Взрыва, и никак иначе.
Но мне нужно не решение конкретной задачи, а Кубик для конструирования решений других, более практических задач, числом больше одной.
Не, ну ладно, прибавлять/отнимать единицу - не супер-задача для помещения в Кубик. Не очень большой напряг ее решать каждый раз в рамках некой конкретной Задачи.
Но даже этот элементарный пример можно обобщить до не очень очевидного решения :!:
Скорость большая, микронов в секунду получается много, обработка каждого становится накладной. Хочется заниматься вычислениями только по мере необходимости, глядя на эти два электрических сигнала.
В моем изделии эта необходимость возникает с частотой 16КГц, в тот момент, когда я формирую сигнал управления электродвигателем в виде ШИМ-а. Микронов за эти 62.5 мкс может пробежать очень много.
И бог с ними, задача оказалась разрешима без ограничения на скорость.
Кстати говоря, за счет усложнения структуры того самого мутабельного состояния :)
Это уже менее тривиально, и мне представляется правильным иметь решение один раз в виде Кубика, но не заниматься этим решением на каждой Задаче, в контексте которой и известен весь исторический процесс...

В общем, как-то так...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Среда, 09 Июнь, 2010 13:29 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 516
Откуда: Бердск
Wlad2 писал(а):
Можете себе у нас такого "мэнэджэра" представить?
Могу.
Но соглашусь - это будет исключение, лишь подтверждающее правило.
В принципе - это наследие совка, как мне кажется.
Очень и очень редкого "красного директора" можно было назвать коллегой, а не начальником....
Но исключения бывали, конечно же.

Ну да, это наша проблема... Может быть - национальная...
Цитата:
Плывут у нас по Волге ли, по Каме ли
Таланты - все при шпаге, при плаще
Руслан Халилов, мой сосед по камере
Там Мао - делать нечего, вобще
....
:D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Среда, 09 Июнь, 2010 15:27 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Galkov писал(а):
Кстати говоря, исключения в виде палиндромов - тоже не добавляет уверенности в фундаментальности Базы
Палиндромы демонстрируют единственное серьёзное отличие (и в каких-то задачах, возможно, преимущество) рефала от хаскелла -- списки, которые можно собирать/разбирать как слева направо, так и справа налево. В хаскелле для этого можно привлечь специальные функции, структуры данных, но родным для хаскелла такой подход не является.

Galkov писал(а):
BTW: Интересное дело.... У меня как-то не возникало сомнений, что HiAsm - это императивная штука. А тут начитался про функциональну парадигму, и задаю себе вопрос: электронная схема - это декларативные знания, или таки императивные...
А :?: :)
Я сам бывший электронщик, но тоже затрудняюсь ответить, можно ли вообще к электронным схемам применять такие понятия, как декларатив/императив. Я бы сказал, что это просто другая, отличающаяся, парадигма.
Из программирования, возможно, data-flow programming подходит. А тут противоречия с ФП просто никакого нет.

Galkov писал(а):
Geniepro писал(а):
Что Вы имеете в виду под "цифровым фильтром"? Почему он должен зависеть от неопределённого несконцентрированного глобального состояния и почему он обязательно должен его менять (мутировать) с помощью оператора присваивания?
Вот его и называю. Поэтому и в кавычках, что это некое обобщение необходимости хранить в себе у нутре предысторию жизнедеятельности в каком-то виде.
Почему должен... Ну я же высказывал гипотезу - жизнь так устроена, наверное.
Ничего не понял, ну да ладно. Вот Влад Лось уже познал дзен, а я ещё нет...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Четверг, 10 Июнь, 2010 05:08 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 516
Откуда: Бердск
Geniepro писал(а):
Палиндромы демонстрируют единственное серьёзное отличие (и в каких-то задачах, возможно, преимущество) рефала от хаскелла -- списки, которые можно собирать/разбирать как слева направо, так и справа налево. В хаскелле для этого можно привлечь специальные функции, структуры данных, но родным для хаскелла такой подход не является.

Мне показалось, что не только "справа", но и из середины....
Т.е., наличие свободной переменной(ных) в шаблоне - это как бы скрытая рекурсия. Она вроде бы и не нарисована, но она есть. Особенно, если есть возвраты "с неуспехом" в последующей тропе...
Это дело, конечно же, осложняет реализации патерн-матчинга...
Но, если исходить из принципа: "я нарисовал ЧТО я хочу, а КАК - это уже дело конструкторей" - почему бы и нет :)
Тут уж без суперкомпиляции - затруднительно может оказаться.

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB