OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 16:51

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




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Рефал.
СообщениеДобавлено: Суббота, 11 Декабрь, 2010 12:42 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Освежил знания по рефалу. Возник вопрос: как (можно ли вообще?) в образце задать множество символов?

Т.е. хочу в образце s.i e.j указать что s.i может быть только из диапазона "a-e" плюс ещё может быть буквой 'Z'.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Суббота, 11 Декабрь, 2010 15:00 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Вопрос видимо снимается, в полном Рефале есть where конструкция.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Вторник, 04 Январь, 2011 15:14 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Я правильно понимаю, что в рефале невозможно сделать доступ к произвольному элементу за O(1), что в лучшем случае только за O(ln(n))?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Вторник, 04 Январь, 2011 15:49 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Alexey Veselovsky писал(а):
Я правильно понимаю, что в рефале невозможно сделать доступ к произвольному элементу за O(1), что в лучшем случае только за O(ln(n))?

В Рефале данные хранятся не в массиве, а в структуре-разновидности дерева.
Вообще это может от реализации зависеть.

Идиомы программирования на Рефале -- там упоминаются массивы и прочие структуры данных.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Вторник, 04 Январь, 2011 16:10 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
И еще надо вдуматься в словосочетание "другая парадигма".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Вторник, 04 Январь, 2011 18:24 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Парадигма -- это хорошо, но сложность она объективна, и некоторые алгоритмы таки требуют произвольного доступа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Вторник, 04 Январь, 2011 18:29 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Geniepro писал(а):
Alexey Veselovsky писал(а):
Я правильно понимаю, что в рефале невозможно сделать доступ к произвольному элементу за O(1), что в лучшем случае только за O(ln(n))?

В Рефале данные хранятся не в массиве, а в структуре-разновидности дерева.
Вообще это может от реализации зависеть.

Идиомы программирования на Рефале -- там упоминаются массивы и прочие структуры данных.

Я знаю что там не массив, а двусвязный список. "скобочки" это нечто не с двумя ссылками, а с тремя (предыдущий, следующий, ссылка на парную скобку).

Просто спросил, чтобы убедиться, что ничего не упускаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Вторник, 04 Январь, 2011 21:07 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Alexey Veselovsky писал(а):
Парадигма -- это хорошо, но сложность она объективна, и некоторые алгоритмы таки требуют произвольного доступа.

Полистайте на досуге Purely Functional Data Structures
При использовании ленивого чистого ФП сложность алгоритмов может быть другой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Среда, 05 Январь, 2011 00:11 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Geniepro писал(а):
Alexey Veselovsky писал(а):
Парадигма -- это хорошо, но сложность она объективна, и некоторые алгоритмы таки требуют произвольного доступа.

Полистайте на досуге Purely Functional Data Structures
При использовании ленивого чистого ФП сложность алгоритмов может быть другой.

Листал. Зато по памяти можно напороться. Кроме того, "аммортизационная сложность" очень сильно напоминает некий маркетоидный приём :-)

Кстати, а при чем тут рефал? :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Среда, 05 Январь, 2011 10:20 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Alexey Veselovsky писал(а):
Кстати, а при чем тут рефал? :-)

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

А с какой именно реализацией Рефала Вы занимаетесь?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Среда, 05 Январь, 2011 11:39 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Alexey Veselovsky писал(а):
[Кроме того, "аммортизационная сложность" очень сильно напоминает некий маркетоидный приём :-)

Есть же понятие "средняя скорость движения", и оно вовсе не является приёмом маркетологов. Вполне себе нормальное понятие.

Так же и амортизированная временная сложность -- среднее время выполнения алгоритма на операцию в худшем для алгоритма случае.
http://en.wikipedia.org/wiki/Amortized_analysis
Цитата:
As a simple example, in a specific implementation of the dynamic array, we double the size of the array each time it fills up. Because of this, array reallocation may be required, and in the worst case an insertion may require O(n). However, a sequence of n insertions can always be done in O(n) time, because the rest of the insertions are done in constant time, so n insertions can be completed in O(n) time. The amortized time per operation is therefore O(n) / n = O(1).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Среда, 05 Январь, 2011 14:41 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Geniepro писал(а):
Alexey Veselovsky писал(а):
Кстати, а при чем тут рефал? :-)

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

А с какой именно реализацией Рефала Вы занимаетесь?

Ну рефал язык не столь уж и чистый. Всё же значение там можно прикопать а потом откопать. Ну и побиочные эффекты никто не запрещал через встроенные функции, в отличае от того же Haskell'я.

А вычисления там похоже таки энергичные. Для уменьшения сложности вроде как нужны ленивые вычисления.

Реализация -- Рефал-5. По нему есть нормальная документация/учебник Турчина. Рефал Плюс слишком навороченный, я его ниасилил. Рефал-2 слишком страшный :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Среда, 05 Январь, 2011 16:48 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Валерий Лаптев писал(а):
Info21 писал(а):
Что заставить его обратить внимание на то, что ему кажется ахинеей недоумков, и что по этой причине видится ему подтверждением его над ними интеллектуального превосходства?

Крупная неудача. Если мозги есть, то обратит внимание. И начнет копать. А если не обратит - туда ему и дорога...

Предлагаю когнитивности эти отделить в отдельную тему, ибо к центральной теме обсуждения (Рефал) это НИКАКОГО отношения не имеет. В каком нибудь разделе по психологии и педагогике обсуждайте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Четверг, 06 Январь, 2011 11:12 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 516
Откуда: Бердск
Alexey Veselovsky писал(а):
Я знаю что там не массив, а двусвязный список. "скобочки" это нечто не с двумя ссылками, а с тремя (предыдущий, следующий, ссылка на парную скобку).

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

Где-то (не припомню уже) читал, что они всю свою жизнь изобретают наиболее эффективные реализации... и что самое модное типа стало представление данных как динамического массива термов...
И что великую болезнь от копирования данных - они победили до какой-то степени.
В плюсе, наверное. Но точно не скажу конечно же.

Скажем так: ассимптотика функции <First s.N e.Expr> - шибко зависит от реализации. В пятом - O(N) почти наверняка. В плюсе - O(1) скорее всего.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Четверг, 06 Январь, 2011 12:33 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Alexey Veselovsky писал(а):
Предлагаю когнитивности эти отделить в отдельную тему, ибо к центральной теме обсуждения (Рефал) это НИКАКОГО отношения не имеет. В каком нибудь разделе по психологии и педагогике обсуждайте.
Почему же.
В моем первом сообщении в этой подветочке было указано на ошибку, совершенную в отношении именно Рефала.
Хотя корни ошибки -- в общей "когнитивности".
А также в не-до-конца-понимании всего значения понятия "парадигма" применительно к императивной, функциональной и прочим парадигмам программирования.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Четверг, 06 Январь, 2011 14:57 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Galkov писал(а):
Alexey Veselovsky писал(а):
Я знаю что там не массив, а двусвязный список. "скобочки" это нечто не с двумя ссылками, а с тремя (предыдущий, следующий, ссылка на парную скобку).

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

Где-то (не припомню уже) читал, что они всю свою жизнь изобретают наиболее эффективные реализации... и что самое модное типа стало представление данных как динамического массива термов...
И что великую болезнь от копирования данных - они победили до какой-то степени.
В плюсе, наверное. Но точно не скажу конечно же.

Да, похоже что в плюсе (точнее как минимум в нем), судя вот по этому: http://skif.pereslavl.ru/skif/index.cgi ... data=refal\refal_plus.html&chap=menu_dokumentazija.html
Galkov писал(а):
Скажем так: ассимптотика функции <First s.N e.Expr> - шибко зависит от реализации. В пятом - O(N) почти наверняка. В плюсе - O(1) скорее всего.

Да, видимо это так.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Четверг, 06 Январь, 2011 15:01 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Info21 писал(а):
Alexey Veselovsky писал(а):
Предлагаю когнитивности эти отделить в отдельную тему, ибо к центральной теме обсуждения (Рефал) это НИКАКОГО отношения не имеет. В каком нибудь разделе по психологии и педагогике обсуждайте.
Почему же.
В моем первом сообщении в этой подветочке было указано на ошибку, совершенную в отношении именно Рефала.
Хотя корни ошибки -- в общей "когнитивности".
А также в не-до-конца-понимании всего значения понятия "парадигма" применительно к императивной, функциональной и прочим парадигмам программирования.

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

Поясню -- я спросил какую сложность имеет встроенная функция <First s.N e.Expr> в реализациях Рефала, вы и близко ответа не дали.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Четверг, 06 Январь, 2011 15:13 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Alexey Veselovsky писал(а):
Вопрос абсолютно чисто технический. ...
Так это всегда так.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Четверг, 06 Январь, 2011 15:44 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Info21 писал(а):
Alexey Veselovsky писал(а):
Вопрос абсолютно чисто технический. ...
Так это всегда так.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефал.
СообщениеДобавлено: Пятница, 07 Январь, 2011 10:27 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Alexey Veselovsky писал(а):
Info21 писал(а):
Alexey Veselovsky писал(а):
Вопрос абсолютно чисто технический. ...
Так это всегда так.

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

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

Вот по поводу этого идеологического контекста и было высказано довольно скромное пожелание с оговоркой "И еще".
Подразумеваемый же контекст совсем ясно вылез во второй реплике,
Alexey Veselovsky писал(а):
некоторые алгоритмы таки требуют произвольного доступа
, что только доказывает правильность интерпретации первой.

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

Так что, да, приматология рулит. Как наука, конечно, а не как ругательство в устах недоучек.

А насчет того, где суть, а где мусор, мнения разные могут быть.


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

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


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

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


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

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