Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср ноя 21, 2018 02:27

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 58 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Сб май 25, 2013 09:15 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Majestio писал(а):
in4 писал(а):
- м. не делать одну универсальную систему, лучше сделать несколько специализированных
Не согласен. Как пример, приведу пересборку ядра *nix систем. Есть все что надо "под все". Но когда делаем под себя - конфигурируем. Что есть по себе - мета-программирование. В результате получаем ядро с нужными встроенными модулями (мы знаем что они будут дергаться в работе постоянно) + получаем отдельно загружаемые модули (редкого использования).
Рассмотрим, как проще - делать систему с кучей проверок различных условий (по результатам метапрограммирования) либо заменить фрагменты исходника(например, выбрав другой набор включенных файлов). Например, проверять разрядность данных при каждой операции с ними или подключать разные файлы с реализацией алгоритма для разной разрядности - 64, 32, 24, 18, 16, 8...
А еще для разной разрядности и endian-овости могут быть разные оптимизации алгоритма.

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

Majestio писал(а):
in4 писал(а):
--- но тогда как удобно перемещать между ними хорошие специализированные решения? - Мой ответ - более высокоуровневая среда разработки
Мне кажется дело не столько в среде разработки, сколько в возможностях подстройки (в ее реализации) кода к условиям эксплуатации. К примеру, взбредет кому в голову написать библиотеку по тензорному анализу. Будет преступлением - игнорировать наличие какого-нить GPU Ati Radeon'а.
Среда - это просто удобное место работы, где вся нужная документация, фрагменты кода, схемы и доп. информация под рукой. Где можно создать части схемы и таскать их по экрану, размещая так, чтобы было удобно видеть нужные связи. И где можно было бы допрограммировать взаимодействия созданных экранных элементов. Где можно работать с фрагментами алгоритмов как с экранными объектами.

А если добавить поддержку Raspberry Pi (GPU VideoCore) и CubieBoard(GPU Mali400), то луше в ту библиотеку добавить условий для оптимизации под каждый вариант, или сделать несколько вариантов(свою реализацию набора примитивов для каждого GPU) ? ;)

Среда должна помочь одновременно поддерживать все эти GPU.

Majestio писал(а):
in4 писал(а):
- при специальном представлении исходников - в прекомпилированном виде - можно значительно увеличить скорость компиляции ценой усложнения редактора и возможностей легкой передачи текстов исходников
У меня вообще шальная идея )) Исходники хранить только в ипостаси дампа (обычного читаемого). А все рабочее - загнать в SQlite, обеспечить норм индексацией. По сравнению с работой с файловой системой - ускорение будет на порядки. Только не забывать периодически сбрасывать снимки базы на диск. Вон люди уже давно извращаются.
А это уже вопросы реализации! ;)
- читаемость внутреннего представления не обязательна
- аналогичные возможности может обеспечить хорошая система контроля версий
Вот я сейчас рассматриваю, подходит ли Git для некоторых работ. Мне кажется, нужна бОльшая интеграция системы разработки и системы контроля версий, но это вопрос удобства и будущего.

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Сб май 25, 2013 13:06 
in4 писал(а):
...высокоуровневым...
Вопрос был риторическим. Но, в Вашей трактовке, боюсь он стал просто нерешаемым.

НЕНУЖНЫЕ ПОУЧЕНИЯ (можно не читать):

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

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


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Сб май 25, 2013 13:46 
in4 писал(а):
делать систему с кучей проверок различных условий (по результатам метапрограммирования)
Как бы метапрограммирование и придумано для избежания "кучи проверок"...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Вс май 26, 2013 02:16 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
gudleifr писал(а):
in4 писал(а):
делать систему с кучей проверок различных условий (по результатам метапрограммирования)
Как бы метапрограммирование и придумано для избежания "кучи проверок"...
Если под метапрограммированием понимать программирование задачи построения программы решения целевой задачи и целевая задача - получить универсальное решение, то при некоторых подходах может появится разветвленное дерево условий, чего, собственно и хочется избежать. И, соответственно изменить целевую задачу на построение не одного универсального решения, а набора специализированных решений. Другой акцент. И это кажется важным.

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Вс май 26, 2013 02:59 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
gudleifr писал(а):
in4 писал(а):
...высокоуровневым...
Вопрос был риторическим. Но, в Вашей трактовке, боюсь он стал просто нерешаемым.
Вроде как раз и решаю... ;) Пока принципиальных трудностей не замечено.
gudleifr писал(а):
Вы очень близко подошли к грани: "Не знаю, как решить задачу, но если мне дадут красивое визуальное средство, она сразу решится сама собой".
Как решать дальше - знаю.... ;) Сама задача не решится, надо много чего добавлять до действительно хорошего решения. Но простые решения получить можно без больших объемов работ. ;)

А если у вас есть "красивое визуальное средство":
- основанное на простых понятных принципах
- с хорошей документацией и примерами
- функционально полное, но не переусложненное
- программируемое
- с красивой внутренней моделью (моделями)
- под DOS, Windows, Linux, Android
скажите, я его обязательно попробую! Возможно, оно решит мои текущие проблемы и можно будет заниматься действительно интересными вещами! :) Кстати, автору темы тоже поможет! ;) Я такого пока не нашел. Обычно или функционально не полные - нельзя простым способом сделать нужные вещи, или плохая документация/внутренние модели/переусложненное, или и то, и другое.
OFFTOPIC
gudleifr писал(а):
Принцип всегда был один: "Создайте интерфейс, которым может пользоваться и дурак, и только дурак захочет им пользоваться". И, на примере Винды, мы видим, что он работает.
У меня как раз другие запросы - мне сложный конструктор надо, а не форму с кнопкой "сделай что мне нужно!". ;) Для меня (в данном случае) компьютер - просто инструмент для исследований. И я учитываю его ограничения на текущий момент. То, что мне нужно, есть по частям в нескольких системах, но я нигде не видел это вместе. Я пояснил этот момент?
/OFFTOPIC

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Вс май 26, 2013 09:45 
Не в сети

Зарегистрирован: Ср июл 05, 2006 14:44
Сообщения: 231
Благодарил (а): 0 раз.
Поблагодарили: 7 раз.
to in4 гляньте пожалуйста сюда, китаец делает интересные вещи.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Вс май 26, 2013 10:45 
in4 писал(а):
целевая задача - получить универсальное решение, то при некоторых подходах может появится разветвленное дерево условий
Причем, без всякого метапрограммирования...
in4 писал(а):
А если у вас есть "красивое визуальное средство"
У меня тоже все застопорилось из-за отсутствия красивого решения... Но это совсем другая история.
in4 писал(а):
У меня как раз другие запросы - мне сложный конструктор надо, а не форму с кнопкой "сделай что мне нужно!".
Обычное оправдание создателей дурацких интерфейсов. Каждый из нас постоянно упирается в то, что используемый графический интерфейс не позволяет или затрудняет визуализацию очередного гениального видения... Тут надо понять, что же действительно надо, а что - только хочется, либо потратиться на частное решение (которое станет таким же неудобным для следующей задачи, как то, что имеем сейчас).
in4 писал(а):
То, что мне нужно, есть по частям в нескольких системах, но я нигде не видел это вместе.
Если, например, Вы не понимаете, почему их нельзя объединить, значит Вы не понимаете, зачем они нужны. Или еще как-то... Бросайте эту маниловщину...

P.S. Пока писал, понял, почему у меня не получается то самое "красивое решение"...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Вс май 26, 2013 11:43 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6439
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
in4 писал(а):
- основанное на простых понятных принципах
- с хорошей документацией и примерами
- функционально полное, но не переусложненное
- программируемое
- с красивой внутренней моделью (моделями)
- под DOS, Windows, Linux, Android

А все это не выглядит несколько противоречивым?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Пн май 27, 2013 19:29 
Пока мы не забыли с чего начали, рискну предположить: перед коллегой Majestio сейчас два пути:
1. Реализовать на Perl квази-Forth, худо-бедно соответствующий стандарту.
2. Сразу перейти к 4-му этапу и написать "хоть что-то работающее".
И я боюсь, что и то, и то отсечет какие-то возможности и интересности. Единственный выход - сразу готовиться к тому, что результат придется выкинуть и начать заново. Не тянуть "хвосты" ошибочно принятых решений с этапа на этап.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Пн май 27, 2013 22:16 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
Пока мы не забыли с чего начали, рискну предположить: перед коллегой Majestio сейчас два пути:
1. Реализовать на Perl квази-Forth, худо-бедно соответствующий стандарту.
2. Сразу перейти к 4-му этапу и написать "хоть что-то работающее".
И я боюсь, что и то, и то отсечет какие-то возможности и интересности. Единственный выход - сразу готовиться к тому, что результат придется выкинуть и начать заново. Не тянуть "хвосты" ошибочно принятых решений с этапа на этап.

Однозначно п.1 - ибо "первый заяц" моего убийства - изучения Forth. Только не поймите меня превратно - я не собираюсь зубрить синтаксис. Мне интересна концепция, ее базовая реализация, попытки стандартизации, "разброд и шатание" вокруг всего этого ... хочется чтобы чужая идея стала частичкой меня.

Дальше я куда-то пойду. Однозначно не в сторону ANSI 94.

Причин несколько:

1) Форт на подиуме языков программирования - не красивее бабы Яги, я против статистики не боец
2) Перспективы развития - типа сестры фата Могран'ы (эт я так образно), я еще учусь
3) "Ошибочно принятые решения" - это жИ ценнейший багаж!!! Вы же не собираетесь жить вечно?

Мои нынешние подходы, их скромно два:

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

Не тороплюсь. Эта тема для меня - вместо ТиВи. Я так отдыхаю :D

_________________
Мои программные ништякиhttp://majestio.info
Форум по языку программирования Dhttp://dlanguage.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Пн май 27, 2013 22:49 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6439
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
Majestio писал(а):
Мне интересна концепция, ее базовая реализация, попытки стандартизации, "разброд и шатание" вокруг всего этого ... хочется чтобы чужая идея стала частичкой меня.

Замечательно! Серьезно. Зубрить синтаксис действительно ни к чему - существующий синтаксис ведь тоже придуман живыми людьми, у которых были свои соображения... а еще свои условия, в которых они находились, и свои задачи. Под реальные задачи собираются реальные Форты. Под выдуманные - ну, "что выросло, то и выросло".

Я могу осторожно предложить подумать над следующими вопросами:
1. Стек и работа с памятью. Как с этим в Perl? Конкретнее - как это будет решаться при текущей постановке задачи, и с учетом кроссплатформенности?
2. Словарь. Он несколько вытекает из п.1, поскольку размещен в памяти. Какой тип кода предполагается (машинный или ШК), какова будет структура словарной статьи?
3. Интерфейс с ОС. Как выглядит типовое приложение?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Пн май 27, 2013 23:10 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
Хищник писал(а):
Я могу осторожно предложить подумать над следующими вопросами:
1. Стек и работа с памятью. Как с этим в Perl? Конкретнее - как это будет решаться при текущей постановке задачи, и с учетом кроссплатформенности?

И просто ... и сложно. В плане Perl'а я имею возможность разместит что угодно и когда угодно ... вопрос - где и как решает Perl. Тут засада №1.
Хищник писал(а):
2. Словарь. Он несколько вытекает из п.1, поскольку размещен в памяти. Какой тип кода предполагается (машинный или ШК), какова будет структура словарной статьи?

Я пока не знаю, честно. Но логика подсказывает - два варианта. Для "закрытых" систем - машинный код, соответственно для "открытых" - ШК. По идее - этот головняк разработчика, что решил (продать, предоставить, подарить), то и должно быть.
Хищник писал(а):
3. Интерфейс с ОС. Как выглядит типовое приложение?

[/quote]
Хрен его знает ....сперва возможно консоль, мот так легче....

_________________
Мои программные ништякиhttp://majestio.info
Форум по языку программирования Dhttp://dlanguage.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Вт окт 07, 2014 19:50 
Majestio писал(а):
KPG писал(а):
... если только Perl не ощущается на кончиках пальцев:)
Ощущается. С 1997 года )
Кто подскажет самую красивую реализацию на Perl Машины Тьюринга (автомата Мили, других конечных автоматов)? Желательно, с учетом того, что "символы" сами по себе могут быть сложными регулярными выражениями. (lex и yacc не предлагать).


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

Часовой пояс: UTC + 3 часа [ Летнее время ]


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

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


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

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB