Автор Тема: Математическое расширение Оберона  (Прочитано 5395 раз)

Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля
Математическое расширение Оберона
« : Апрель 14, 2013, 05:18:59 pm »
В Активном Обероне куча нововведений, которые отсутствуют в официальной документации А2, да и имеющаяся давным давно устарела и вообще её там с гулькин нос.
Совершенно случайно сегодня наткнулся на документы, которые проливают свет на суть вопросов, связанных с этим самым математическим расширением:

F. Friedrich, J. Gutknecht, O. Morozov, P. Hunziker. A Mathematical Programming Language Extension for Multilinear Algebra. Proc. Kolloqium über Programmiersprachen und Grundlagen der Programmierung, Timmendorfer Strand 2007.

F. Friedrich, J. Gutknecht. Array-Structured Object Types for Mathematical Programming. Proc. Joint Modular Language Conference, Oxford 2006.


Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля

DddIzer

  • Гость
Re: Математическое расширение Оберона
« Ответ #2 : Апрель 15, 2013, 08:01:23 pm »
ммм. не очень понятно, что хотели авторы сказать этой статьями ... с одной стороны, вроде такие же операторы есть и в матлабе, с другой стороны вроде никто не сомневается, что следование алгебраической нотации повысит читабельность кода.. Неясно, также,  включены ли эти расширения в ОФИЦИАЛЬНУЮ версию АО.. или это только исследовательское поделье...

DddIzer

  • Гость
Re: Математическое расширение Оберона
« Ответ #3 : Апрель 15, 2013, 08:05:37 pm »
...просмотрел все статьи.. вроде одно и то же.... -муть, короче говоря...

DddIzer

  • Гость
Re: Математическое расширение Оберона
« Ответ #4 : Апрель 15, 2013, 08:11:31 pm »
и потом, расширения расширениями... но идея  использования для высокопроизводительных вычислений ЯП с ГК... как то весьма притянута за уши...    ИМХО, конечно, но все же...

Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля
Re: Математическое расширение Оберона
« Ответ #5 : Апрель 16, 2013, 09:29:56 am »
Математическое расширение давным давно реализовано в А2, еще старый компилятор paco  поддерживал. В новом компиляторе fox это дело более оптимизированное, а учитывая, что в новом компиляторе для массивов можно перегружать операторы, то ещё и удобное.
Сборщик мусора здесь никаким боком не мешает, всё отлично работает

DddIzer

  • Гость
Re: Математическое расширение Оберона
« Ответ #6 : Апрель 16, 2013, 10:53:52 am »

Сборщик мусора здесь никаким боком не мешает, всё отлично работает
Почему.. он МОЖЕТ мешать в любом ЯВУ с ГК на нагруженных задачах(даже если расширение яп небезопасно - т.е. управляется не ГК). Да, забавная, но честная оценка накладных расходов связанных с проверкой диапазонов индексов массивов
.. в статье они дают ~25% , тогда как адепты оберонизма (вроде бы Шиперски ) <5% , т.е. практически незаметно.

DddIzer

  • Гость
Re: Математическое расширение Оберона
« Ответ #7 : Апрель 16, 2013, 11:17:31 am »
Математическое расширение давным давно реализовано в А2, еще старый компилятор paco  поддерживал. В новом компиляторе fox это дело более оптимизированное, а учитывая, что в новом компиляторе для массивов можно перегружать операторы
то есть смысл работы заключается только в   перегрузке (и оптимизации соответствующих алгоритмов) операторов для работы с динамическими массивами?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Математическое расширение Оберона
« Ответ #8 : Апрель 16, 2013, 11:36:26 am »

Сборщик мусора здесь никаким боком не мешает, всё отлично работает
Почему.. он МОЖЕТ мешать в любом ЯВУ с ГК на нагруженных задачах(даже если расширение яп небезопасно - т.е. управляется не ГК). Да, забавная, но честная оценка накладных расходов связанных с проверкой диапазонов индексов массивов
.. в статье они дают ~25% , тогда как адепты оберонизма (вроде бы Шиперски ) <5% , т.е. практически незаметно.

На разных задачах сравнивает. Шиперски видимо говорит про обычную бизнес-логику. А в статье этой говорят конкретно про числодробление, про DSP и так далее (скажем обработка изображений). Это разные задачи. И оптимизации там играют очень по разному. См. например мой отчет по хакотону - там как раз было оно.
Y = λf.(λx.f (x x)) (λx.f (x x))

DddIzer

  • Гость
Re: Математическое расширение Оберона
« Ответ #9 : Апрель 16, 2013, 12:01:39 pm »


На разных задачах сравнивает. Шиперски видимо говорит про обычную бизнес-логику. А в статье этой говорят конкретно про числодробление, про DSP и так далее (скажем обработка изображений). Это разные задачи. И оптимизации там играют очень по разному. См. например мой отчет по хакотону - там как раз было оно.
я на это и намекаю.. что в данном случае сравнение честное (рассматриваются приложения активно использующие массивы)... в отличие от труда Шиперского в котором он выдавал желаемое за действительное.

Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля
Re: Математическое расширение Оберона
« Ответ #10 : Апрель 16, 2013, 04:31:56 pm »
то есть смысл работы заключается только в   перегрузке (и оптимизации соответствующих алгоритмов) операторов для работы с динамическими массивами?
смысл заключается в ведении соответствующей алгебры так сказать.
а перегрузка к математическому расширению языка не относится, это, скорее ооп расширение, я об этом упомянул потому как речь шла о массивах.
что касается матрасширения, то на уровне языка введены новые комплексные типы, математические и тензорные массивы, соответствующие операторы над ними. Есть оптимизированные версии библиотеки под x86_32 и amd64 (переписана на асме, используется sse расширения).
Всё это позволяет вместо трехэтажных конструкций и ручного управления, писать компактные, легко обозримые и интуитивно понятные производительные программы, снижая количество ошибок.
По ссылкам есть соответствующие примеры. Гдето находил рабочий файлик с примерами трансформации матриц.
К сожалению в самой А2 документация на эту тему отсутствует, приходится вести археологические раскопки

Мне думается, что это расширение открывает хорошие перспективы в А2 по обработке видео/графики/звука...

DddIzer

  • Гость
Re: Математическое расширение Оберона
« Ответ #11 : Апрель 16, 2013, 05:39:29 pm »

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

это и есть близость к алгебраической нотации (насколько это возможно для данного ЯВУ) - ничего нового (поскольку ВЫ сказали , что ЭТО расширение ЯП было сделано давно)...