OberonCore
https://forum.oberoncore.ru/

Рефал.
https://forum.oberoncore.ru/viewtopic.php?f=72&t=3057
Страница 1 из 2

Автор:  Alexey Veselovsky [ Суббота, 11 Декабрь, 2010 12:42 ]
Заголовок сообщения:  Рефал.

Освежил знания по рефалу. Возник вопрос: как (можно ли вообще?) в образце задать множество символов?

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

Автор:  Alexey Veselovsky [ Суббота, 11 Декабрь, 2010 15:00 ]
Заголовок сообщения:  Re: Рефал.

Вопрос видимо снимается, в полном Рефале есть where конструкция.

Автор:  Alexey Veselovsky [ Вторник, 04 Январь, 2011 15:14 ]
Заголовок сообщения:  Re: Рефал.

Я правильно понимаю, что в рефале невозможно сделать доступ к произвольному элементу за O(1), что в лучшем случае только за O(ln(n))?

Автор:  Geniepro [ Вторник, 04 Январь, 2011 15:49 ]
Заголовок сообщения:  Re: Рефал.

Alexey Veselovsky писал(а):
Я правильно понимаю, что в рефале невозможно сделать доступ к произвольному элементу за O(1), что в лучшем случае только за O(ln(n))?

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

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

Автор:  Info21 [ Вторник, 04 Январь, 2011 16:10 ]
Заголовок сообщения:  Re: Рефал.

И еще надо вдуматься в словосочетание "другая парадигма".

Автор:  Alexey Veselovsky [ Вторник, 04 Январь, 2011 18:24 ]
Заголовок сообщения:  Re: Рефал.

Парадигма -- это хорошо, но сложность она объективна, и некоторые алгоритмы таки требуют произвольного доступа.

Автор:  Alexey Veselovsky [ Вторник, 04 Январь, 2011 18:29 ]
Заголовок сообщения:  Re: Рефал.

Geniepro писал(а):
Alexey Veselovsky писал(а):
Я правильно понимаю, что в рефале невозможно сделать доступ к произвольному элементу за O(1), что в лучшем случае только за O(ln(n))?

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

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

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

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

Автор:  Geniepro [ Вторник, 04 Январь, 2011 21:07 ]
Заголовок сообщения:  Re: Рефал.

Alexey Veselovsky писал(а):
Парадигма -- это хорошо, но сложность она объективна, и некоторые алгоритмы таки требуют произвольного доступа.

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

Автор:  Alexey Veselovsky [ Среда, 05 Январь, 2011 00:11 ]
Заголовок сообщения:  Re: Рефал.

Geniepro писал(а):
Alexey Veselovsky писал(а):
Парадигма -- это хорошо, но сложность она объективна, и некоторые алгоритмы таки требуют произвольного доступа.

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

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

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

Автор:  Geniepro [ Среда, 05 Январь, 2011 10:20 ]
Заголовок сообщения:  Re: Рефал.

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

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

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

Автор:  Geniepro [ Среда, 05 Январь, 2011 11:39 ]
Заголовок сообщения:  Re: Рефал.

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).

Автор:  Alexey Veselovsky [ Среда, 05 Январь, 2011 14:41 ]
Заголовок сообщения:  Re: Рефал.

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

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

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

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

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

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

Автор:  Alexey Veselovsky [ Среда, 05 Январь, 2011 16:48 ]
Заголовок сообщения:  Re: Рефал.

Валерий Лаптев писал(а):
Info21 писал(а):
Что заставить его обратить внимание на то, что ему кажется ахинеей недоумков, и что по этой причине видится ему подтверждением его над ними интеллектуального превосходства?

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

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

Автор:  Galkov [ Четверг, 06 Январь, 2011 11:12 ]
Заголовок сообщения:  Re: Рефал.

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

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

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

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

Автор:  Info21 [ Четверг, 06 Январь, 2011 12:33 ]
Заголовок сообщения:  Re: Рефал.

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

Автор:  Alexey Veselovsky [ Четверг, 06 Январь, 2011 14:57 ]
Заголовок сообщения:  Re: Рефал.

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) скорее всего.

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

Автор:  Alexey Veselovsky [ Четверг, 06 Январь, 2011 15:01 ]
Заголовок сообщения:  Re: Рефал.

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

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

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

Автор:  Info21 [ Четверг, 06 Январь, 2011 15:13 ]
Заголовок сообщения:  Re: Рефал.

Alexey Veselovsky писал(а):
Вопрос абсолютно чисто технический. ...
Так это всегда так.

Автор:  Alexey Veselovsky [ Четверг, 06 Январь, 2011 15:44 ]
Заголовок сообщения:  Re: Рефал.

Info21 писал(а):
Alexey Veselovsky писал(а):
Вопрос абсолютно чисто технический. ...
Так это всегда так.

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

Автор:  Info21 [ Пятница, 07 Январь, 2011 10:27 ]
Заголовок сообщения:  Re: Рефал.

Alexey Veselovsky писал(а):
Info21 писал(а):
Alexey Veselovsky писал(а):
Вопрос абсолютно чисто технический. ...
Так это всегда так.

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

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

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

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

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

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

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/