Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пн сен 23, 2019 11:02

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - ef \ esoteric forth \
Автор Сообщение
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
KPG писал(а):
Есть такой проект делающийся на средства краудфандингa ZX-Spectrum Next
(спектрум совместимый компьютер на FPGA с наличием разных плюшек, как HDMI, SD, частоты процессора + 7, 14, 28 МГц ...)

Winglion такое делал на Альтере в начале 2000-х. Спринтер. Графика от Doom на Z80 (с ускорителем в ПЛИС) впечатляла.
Сообщение Добавлено: Пт сен 13, 2019 02:02
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
Кстати по поводу ОС на ассемблере.

Есть такой проект делающийся на средства краудфандингa ZX-Spectrum Next
(спектрум совместимый компьютер на FPGA с наличием разных плюшек, как HDMI, SD, частоты процессора + 7, 14, 28 МГц ...)
в нём много софта исторического на ассемблере, так вот они в дизайне компьютера ещё предусмотрели возможность добавить ускоритель команд, графики ... на внешней шине на Raspberry Pi Zero (1Ггц, Mali, 512Кб)

Вот уже в данной Raspberry Pi Zero можно было бы задействовать функционал на ассемблерном Форт ядре
и частично наличие какого то популярного софта на Форт не так важно в рамках базового использования платы расширения
RPi в рамках экосистемы данного компьютера, но, наверное, с таким же успехом могла быть использована плата с Intel процессором и например KolibriOS.
Сообщение Добавлено: Ср сен 11, 2019 04:53
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
М-да, воспринять шутку на серьёзных щах это надо уметь :))
Сообщение Добавлено: Вт сен 03, 2019 12:51
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
Victor__v писал(а):
Ага, для ОС написанной на ассемблере портируемость ну прям вообще нужна.
<<Сарказм>>

Я имел ввиду, что "легковесная ОС, не имеющая привязки к ассемблеру" лучше, чем "легковесная ОС с жесткой привязкой к конкретному ассемблеру". Первую можно попытаться портировать куда-нибудь, портировать вторую будет как минимум затруднительно.
А вообще, коль скоро разговор про ОС зашел... Есть некий набор программ, наличие которых в любой операционной системе позволяет более-менее комфортно существовать как обычному пользователю, так и программисту. Перечислю то, что приходит на ум:
- а-ля Проводник, но лучше файловый менеджер;
- Архиватор;
- Программы для проигрывания аудио/видео;
- Просмотрщики pdf, картинок и прочего;
- Пара-тройка офисных программ;
- Простенький графический редактор;
- Компилятор Си;
- PHP, MySQL и т.д. (для веб-разработчиков);
- Браузер (= интерпретатор HTML+интерпретатор JavaScript);
- и т.д. и т.п.;
Что-то может быть лишнее, что-то забыл. Не суть. Но раз уж зашел разговор про Форт ОС, закономерно появляется следующий вопрос. Было ли когда-нибудь реализовано на Форте хоть что-то из вышеперечисленного? Если да, то шансы на успех Форт ОС есть. Если нет, то можно пойти по пути наименьшего сопротивления, сделав транслятор Си=>Форт, а все остальное реализовать (позаимствовать) на Си... Но все же хотелось бы иметь на борту Форт ОС софт, написанный исключительно на Форте.
Кстати, раньше был тренд "планшеты скоро отовсюду вытеснят настольные компьютеры/ноутбуки", но предсказания не сбылись. Андроид-планшеты так и остались безделушками для убивания времени. Не в последнюю очередь благодаря отсутствию нормальных средств для разработки: почти весь софт под Андроид по прежнему пишется на компьютерах с установленной Windows/Linux.
Сообщение Добавлено: Пн сен 02, 2019 19:25
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
Total Vacuum писал(а):

Сама идея легковесной ОС Колибри мне очень понравилась, но, мне кажется, что зря они привязались к x86 и fasm, что не позволяет портировать ее на другие платформы. Да и с компиляторами на борту самой Колибри как-то печально дело обстоит. Я так понял, что в основном для Колибри компилируют на компьютерах с установленной Window/Linux.

Ага, для ОС написанной на ассемблере портируемость ну прям вообще нужна.
<<Сарказм>>
Сообщение Добавлено: Пн сен 02, 2019 13:18
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
Total Vacuum писал(а):
KPG писал(а):
P.P.S. Никогда не понимал наличие слова Tuck в Форт-системах, но встретив
Код:
: *! TUCK @ * SWAP ! ;
(и подобного использования) понял, что ошибался :)
Ну и использование 2 / (сдвиг значения вправо, при дальнейшем контроле на 0) для использования операции сдвига значения для ограничения диапазона цикла (но это уже локальная оптимизация времени выполнения цикла в небольшом диапазоне цикла, и "оптимизаторы" могут этого не понять)
Можно и без TUCK переписать:
Код:
: *! SWAP OVER @ * SWAP ! ;

Дык, затем и нужен TUCK чтобы вместо 2-х мутаций стека была одна, восприниматся будет относительно легче. Хотя, конечно, при использовании локалсов было бы еще проще и нагляднее:
Код:
: *!  { n a-addr -- }  a-addr @ n * a-addr ! ;
Сообщение Добавлено: Вс сен 01, 2019 02:51
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
Victor__v писал(а):
Ну так давайте напишем свою ОС и форумчанам из Колибри будет стыдно :)
По поводу ОС соглашусь с KPG. ОС без приложений не имеет практической ценности. Она сразу либо должна уметь запускать "чужие" (от другой ОСи) приложения, либо иметь богатый набор инструментов (компиляторов), позволяющий перекомпилировать многочисленные проекты с открытым исходым кодом. А если ОС будет привязана только к FORTH, то в таком случае желательно иметь примитивный и простой API, позволяющий быстро штамповать программы, но даже в этом случае наполнение такой ОСи приложениями будет происходить достаточно медленно. Сама идея легковесной ОС Колибри мне очень понравилась, но, мне кажется, что зря они привязались к x86 и fasm, что не позволяет портировать ее на другие платформы. Да и с компиляторами на борту самой Колибри как-то печально дело обстоит. Я так понял, что в основном для Колибри компилируют на компьютерах с установленной Window/Linux.
Сообщение Добавлено: Сб авг 31, 2019 22:59
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
KPG писал(а):
Интересно, что в
Sx-Forth
добавлены расширенные слова для переменных I и J (разыменования и сохранения и др.)
P.S. Интересно, а вне циклов счётчики циклов слова I и J какие то есть варианты их использования?
Можно, наверное, использовать и вне цикла, если надо определить, при каком значении счетчика закончились итерации (т.е. если был выход из цикла по команде LEAVE). Но тут зависит от реализации. Если счетчики хранятся в стеке возвратов, то значения потеряются после завершения цикла. А если счетчики хранятся в регистрах, то вполне можно использовать.

KPG писал(а):
А, слова определения ассемблерного кода возможно использовать для переключения на исполнение процессорного кодa внутри esoteric forth слова с байт кодом на нативный код?
Не совсем понял вопрос. Обычный и ассемблерный код можно комбинировать внутри одного определения.
Например, определение
Код:
: a b c 1+ d 1- e ;
можно переписать так
Код:
: a b c `inc ax` d `dec ax` e ;
т.к. верхний элемент стека у нас в регистре ax

KPG писал(а):
P.P.S. Никогда не понимал наличие слова Tuck в Форт-системах, но встретив
Код:
: *! TUCK @ * SWAP ! ;
(и подобного использования) понял, что ошибался :)
Ну и использование 2 / (сдвиг значения вправо, при дальнейшем контроле на 0) для использования операции сдвига значения для ограничения диапазона цикла (но это уже локальная оптимизация времени выполнения цикла в небольшом диапазоне цикла, и "оптимизаторы" могут этого не понять)
Можно и без TUCK переписать:
Код:
: *! SWAP OVER @ * SWAP ! ;
проигрыш по скорости будет совсем незначительным, а можно и целиком на ассемблере слово *! реализовать. В Форте (лично для меня) есть много редко используемых слов (в т.ч. и TUCK), название которых ни о чем не говорит, приходится лезть в стандарт, чтобы посмотреть, что оно делает, какие параметры забирает из стека и что кладет обратно в качестве результата :) Это, повторюсь, мой личный ламерский опыт. Возможно, более профессиональные фортеры помнят все эти слова наизусть, поэтому у них таких проблем не возникает. :D

P.S. Заменил mov ax на mov al и "x" compile на 'x' compile, ну и несколько вещей по мелочи. Исполняемый файл весит меньше 1.5K: http://totalvacuum.ru/EF/00000004.zip
Сообщение Добавлено: Сб авг 31, 2019 22:39
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
Интересно, что в
Sx-Forth
добавлены расширенные слова для переменных I и J (разыменования и сохранения и др.)

P.S. Интересно, а вне циклов счётчики циклов слова I и J какие то есть варианты их использования?
А, слова определения ассемблерного кода возможно использовать для переключения на исполнение процессорного кодa внутри esoteric forth слова с байт кодом на нативный код?

P.P.S. Никогда не понимал наличие слова Tuck в Форт-системах, но встретив
Код:
: *! TUCK @ * SWAP ! ;
(и подобного использования) понял, что ошибался :)
Ну и использование 2 / (сдвиг значения вправо, при дальнейшем контроле на 0) для использования операции сдвига значения для ограничения диапазона цикла (но это уже локальная оптимизация времени выполнения цикла в небольшом диапазоне цикла, и "оптимизаторы" могут этого не понять)
Сообщение Добавлено: Сб авг 31, 2019 19:54
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
Victor__v писал(а):
Ну так давайте напишем свою ОС и форумчанам из Колибри будет стыдно :)

Михаил уже встраивал в ядро КолибриОС SPF4, что уже достаточно близко к варианту ФортОС. :)
(а также он запускал код из проекта OpenFirmware и др. варианты)

P.S. Без возможности запуска широкого круга разнообразного ПО само ядро OC несколько бесполезно.
В этом плане даже проект ReactOS имеет больше возможностей.
Сообщение Добавлено: Пт авг 30, 2019 09:10
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
Так почти все писали же, в форт же входит понятие ОС ;)
Сообщение Добавлено: Чт авг 29, 2019 21:36
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
Ну так давайте напишем свою ОС и форумчанам из Колибри будет стыдно :)
Сообщение Добавлено: Чт авг 29, 2019 17:24
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
KPG писал(а):
В KolibriOS, например, на уровне ядра используется алгоритм разжатия программ kpack, что позволяет уместить в размере 1.44 загрузочной дискеты много ПО (к слову SPF4 сжимается при этом до ~20Кб), но смысла сжатия кода для Windows совсем нет.

Побродил по форуму Колибри. Неприятно удивил тот факт, что там на порядок больше зарегистрированных пользователей, чем на нашем форуме.
Сообщение Добавлено: Чт авг 29, 2019 15:24
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
Total Vacuum писал(а):
Victor__v писал(а):
Можно ещё сократить, добавив код архивации/разархивации :)


:) Тоже была такая мысль. Взять и переделать, например, lzss в исполнении Haruhiko Okumura. Алгоритм декомпрессии там совсем короткий, много лет назад его на asm под ARM переписывали, а потом использовали в тех разработках, где надо было графику утрамбовать. :) Но вот алгоритм сжатия там достаточно громоздок, весь положительный эффект от сжатия нейтрализуется большим размером самого алгоритма сжатия :) Ну а какие-то простые алгоритмы (типа RLE) существенного выигрыша не дадут.

А, смысл?
В KolibriOS, например, на уровне ядра используется алгоритм разжатия программ kpack, что позволяет уместить в размере 1.44 загрузочной дискеты много ПО (к слову SPF4 сжимается при этом до ~20Кб), но смысла сжатия кода для Windows совсем нет.
В рамках применения для контроллеров, ещё есть каккой то смысл.

P.S. Лучший способ использования сжатия в Windows, использовании штатной возможность сжатия папок и директорий.
Сообщение Добавлено: Чт авг 22, 2019 14:31
  Заголовок сообщения:  Re: ef \ esoteric forth \  Ответить с цитатой
Victor__v писал(а):
Можно ещё сократить, добавив код архивации/разархивации :)


:) Тоже была такая мысль. Взять и переделать, например, lzss в исполнении Haruhiko Okumura. Алгоритм декомпрессии там совсем короткий, много лет назад его на asm под ARM переписывали, а потом использовали в тех разработках, где надо было графику утрамбовать. :) Но вот алгоритм сжатия там достаточно громоздок, весь положительный эффект от сжатия нейтрализуется большим размером самого алгоритма сжатия :) Ну а какие-то простые алгоритмы (типа RLE) существенного выигрыша не дадут.
Сообщение Добавлено: Чт авг 22, 2019 14:16

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


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