Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 22:27

...
Google Search
Forth-FAQ Spy Grafic

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




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

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
in4 писал(а):
- набирать неудобно - требуется символ, которого нет в стандартных раскладках - английской и русской, как вы его название набираете?

Alt+0181 или копипаст.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


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

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
KPG писал(а):
адаптер можно написать, что пытался сделать Михаил, но так и не довёл до нормального релиза.

C Win32Forth как с языком никаких проблем (включая его классы). Там какая-то тонкость при взаимодействии с системой.
Почему-то не работают кнопки в оконной программе.


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

Зарегистрирован: Чт июн 25, 2009 11:12
Сообщения: 412
Благодарил (а): 41 раз.
Поблагодарили: 8 раз.
Название забито: https://github.com/dsevilla/uForth


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

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
dynamic-wind писал(а):
Название забито: https://github.com/dsevilla/uForth


Я тож забил на всякий случай - https://github.com/Majestio/mForth-plus
Пусть будет :D

_________________
Мои программные ништякиhttps://majestio.info


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

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
in4 писал(а):
По поводу названия "µForth", IMHO:
- набирать неудобно - требуется символ, которого нет в стандартных раскладках - английской и русской, как вы его название набираете? ;)
- первые ассоциации - мю - используется для записи приставки "микро-":
--- маленький - не то :(
--- для микроконтроллеров - тоже не то :(


Да ладно, пусть уж будет так. Не суть. А вот по поводу реализации ... немного поразмыслив, прихожу к выводу, что задумал скорее Factor-подобный язык, нежели Форт. Еще не сделав ни строчки кода мысли о динамической типизации. Долгое пользование Perl'ом всеж привило привычки.

_________________
Мои программные ништякиhttps://majestio.info


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


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

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Еще, что я вынес из работ Мура и Броуди:
- система м.б. специализирована для варианта аппаратных средств - это позволяет бОльшую эффективность/простоту реализации
- м. не делать одну универсальную систему, лучше сделать несколько специализированных
--- но тогда как удобно перемещать между ними хорошие специализированные решения? - Мой ответ - более высокоуровневая среда разработки
- при специальном представлении исходников - в прекомпилированном виде - можно значительно увеличить скорость компиляции ценой усложнения редактора и возможностей легкой передачи текстов исходников
- при высокой скорости компиляции можно компилировать задачи при необходимости, а затем использовать MARKER - сбрасывать указатели и очищать словарь, оставляя в системе только резидентные части - скомпилированный код драйверов и обработчиков. Даже компилятор можно при/перекомпилировать каждый раз, когда он нужен! Это изменяет стиль программирования! Получится стиль, особенно подходящий для небольших Операционных Систем(ОС) и микроконтроллеров. Не нужно держать в памяти весь код, последовательные части м. заменять одна другую, подобно оверлеям раньше. Первоначальную инициализацию можно откомпилировать, выполнить и удалить==сбросить. Заодно и компактное хранение исходников!
У меня есть идея попробовать разместить полноценную, но упрощенную Forth-систему в микроконтроллере AVR Mega8 в 1кБ памяти. Уже придумал, как что урезать и, по оценкам, должна влезть. Правда, с работой через Виртуальную Машину(ВМ), но с основной компиляцией в ОЗУ! (Этот МК не поддерживает выполнение кода из ОЗУ :( ) Упрощение - ограничение размера смысловой части слов - должно давать значительное упрощение и ускорение компиляции и, по оценкам, подходит для работы в МК. При таком упрощении изменяемые части словаря можно хранить в ОЗУ и значительно снизится необходимость записи во флеш, которая будет нужна в основном для расширения аппаратных возможностей - подключения новых устройств с драйверами в нативном коде
- широкое использование хвостовой рекурсии тоже дает преимущества для малых систем, но снова изменяет стиль программирования - обычные Forth-программы прийдется переделывать, зато автоматом получатся Конечные Автоматы (КА)! И теперь я задумываюсь над более высокоуровневой системой, чтоб работать не с исходниками такого Forth-а, а сразу с его частями - непосредственным манипулированием фрагментами кода в визуальной среде.

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Пт май 24, 2013 12:44 
in4 писал(а):
Мой ответ - более высокоуровневая среда разработки
in4 писал(а):
при специальном представлении исходников - в прекомпилированном виде
in4 писал(а):
разместить полноценную, но упрощенную Forth-систему в микроконтроллере AVR Mega8 в 1кБ памяти
Почему на этом Форуме "высокоуровневость" постоянно превращается в аппаратно-ориентированность?


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

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
in4 писал(а):
- м. не делать одну универсальную систему, лучше сделать несколько специализированных

Не согласен. Как пример, приведу пересборку ядра *nix систем. Есть все что надо "под все". Но когда делаем под себя - конфигурируем. Что есть по себе - мета-программирование. В результате получаем ядро с нужными встроенными модулями (мы знаем что они будут дергаться в работе постоянно) + получаем отдельно загружаемые модули (редкого использования).

in4 писал(а):
--- но тогда как удобно перемещать между ними хорошие специализированные решения? - Мой ответ - более высокоуровневая среда разработки

Мне кажется дело не столько в среде разработки, сколько в возможностях подстройки (в ее реализации) кода к условиям эксплуатации. К примеру, взбредет кому в голову написать библиотеку по тензорному анализу. Будет преступлением - игнорировать наличие какого-нить GPU Ati Radeon'а.

in4 писал(а):
- при специальном представлении исходников - в прекомпилированном виде - можно значительно увеличить скорость компиляции ценой усложнения редактора и возможностей легкой передачи текстов исходников

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

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Пт май 24, 2013 13:53 
Majestio писал(а):
Как нам собрать (интерпретировать) модуль, предназначенный для версии 1.8 в реализации 2.0?
gudleifr писал(а):
У меня вообще шальная идея )) Исходники хранить только в ипостаси дампа (обычного читаемого). А все рабочее - загнать в SQlite, обеспечить норм индексацией.
Ура! Мы почти изобрели слово BLOCK .


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

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
Ура! Мы почти изобрели слово BLOCK .

Пожалуйста расшифруй для новичка :roll:

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth (MetaForth)
СообщениеДобавлено: Пт май 24, 2013 14:07 
Majestio писал(а):
Пожалуйста расшифруй для новичка
Это изначальный способ Forth-организации дисковой памяти - пространство, разбитое на (в основном, текстовые) блоки фиксированной длины. Были разработаны различные методики их индексирования, комментирования, сборки и т.п.

P.S. И какой же вы новичок? Уже три года здесь. Не отсылать же Вас обратно к Дейкстре, Муру, Броуди и Баранову/Ноздрунову...


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

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
gudleifr писал(а):
Ура! Мы почти изобрели слово BLOCK .

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

P.S. Почти Метро интерфейс::) Для Форта может выстрелить.


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

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
P.S. И какой же вы новичок? Уже три года здесь. Не отсылать же Вас обратно к Дейкстре, Муру, Броуди и Баранову/Ноздрунову...


Говорят " с годами одни становятся мудрее, другие - старше". Увы, в плане форта - я второе :( Другим был занят плотно.

_________________
Мои программные ништякиhttps://majestio.info


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

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
gudleifr писал(а):
in4 писал(а):
Мой ответ - более высокоуровневая среда разработки
in4 писал(а):
при специальном представлении исходников - в прекомпилированном виде
in4 писал(а):
разместить полноценную, но упрощенную Forth-систему в микроконтроллере AVR Mega8 в 1кБ памяти
Почему на этом Форуме "высокоуровневость" постоянно превращается в аппаратно-ориентированность?
В моем случае это несколько разные направления - система, в которой программист даже может не видеть код (по желанию ;) - он будет работать не с текстом, а с графическим представлением частей программы - это и есть более высокий уровень - хотя технически просто такой лексикон со своими операциями, графическим внешним представлением и специальным внутренним с возможностью преобразования в текст) - это одно направление. А другое - мелкий контроллер для простых задач, программируемый на языке высокого уровня. С текстовым представлением исходников для программиста. При хранении - прекомпилированное представление, которое можно преобразовать в текст программно.
И речь идет не об аппаратной ориентированности, а о специальной версии, оптимизированной по каким-то критериям для определенной аппаратуры. Методы программирования сохраняются, даже часть исходников тоже. Но может поменняться набор операций Виртуальной Машины, коды операций вплоть до упаковки в адресуемые ячейки, ширина данных, адресуемое пространство, способ работы с внешними устройствами (системные вызовы, регистры, устройства как память...), набор внешних устройств.
Очевидно же (или нет? ;) ), что в этих случаях способы решения задач (и даже алгоритмы!) могут отличаться при сохранении некоторой общности решений. И зачем в таком случае тащить полную совместимоть и универсальность? Делаем набор примитивов и используем подходящие лексиконы, а что не подходит - пишем аналоги - специализированные лексиконы.

_________________
With best wishes, in4.


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

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


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

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


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

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