Forth
http://fforum.winglion.ru/

Что есть Форт?
http://fforum.winglion.ru/viewtopic.php?f=9&t=3243
Страница 3 из 16

Автор:  mOleg [ Вт июл 16, 2019 11:17 ]
Заголовок сообщения:  Re: Что есть Форт?

Hishnik писал(а):
По поводу математики - приложенный файл на мысли не наводит?

вейвлетами балуемся?

Автор:  KPG [ Вт июл 16, 2019 15:58 ]
Заголовок сообщения:  Re: Что есть Форт?

Форт маленький язык по мнению автора Lua и он ему нравится. :)
Реплика из интервью с автором языка Lua
Код:
— А какой язык тогда маленький?
- Forth, он мне нравится.


P.S. Из статьи Lua in Moscow 2019: интервью с Роберто Иерусалимским

Автор:  Victor__v [ Вт июл 16, 2019 16:27 ]
Заголовок сообщения:  Re: Что есть Форт?

Раз речь зашла о математике, то кто-какие полезные трюки знает основанные на битовых операциях? XOR OR NOT AND?
Я встречал в необъятной
Двусвязный список с одним указателем (XOR-связный список вроде)
и ГПСЧ (XORshift)

Что может пригодиться?

Автор:  Hishnik [ Вт июл 16, 2019 18:05 ]
Заголовок сообщения:  Re: Что есть Форт?

Victor__v писал(а):
Раз речь зашла о математике, то кто-какие полезные трюки знает основанные на битовых операциях?

Математика, на которую стоит обратить внимание:
1. Сверточные преобразования (Фурье, вейвлеты, базовые двумерные фильтры для изображений).
2. Многофакторная оптимизация.
3. Прикладная статистика, включая big data.
4. Нейросети, на уровне интерфейсов к Tensor Flow и другим готовым библиотекам.
5. Обработка изображений в целом (выделение границ и областей, оценка сцены и т.п.)
6. ...

Автор:  Total Vacuum [ Вт июл 16, 2019 22:37 ]
Заголовок сообщения:  Re: Что есть Форт?

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


В том-то и дело, что стандартная библиотека Си хоть и описана в стандарте, но вынесена за рамки языка. Соответственно, компилятор Си, не использующий стандартные библиотеки, тем не менее, не пересатет быть компилятором Си. Форт и Си в некотором роде коллеги и конкуренты, ведь и тот и другой ближе всего к ассемблеру из всех языков высокого уровня (иногда и тот и другой называют высокоуровневым ассемблером). И, к большому сожалению, эту битву Форт пока безнадежно проигрывает. Форт (хочется верить) задумывался простым и компактным, но, увы, не в последнюю очередь благодаря "не самому удачному" стандарту, становится громоздким и страшным :)) Не хотелось бы, чтобы он пошел по пути языка Ада (как-то зловеще прозвучало :)) ), создатели которого взяли Паскаль и добавили в него много лишнего и ненужного, превратив тем самым в монстра. Хорошо, что господа стандартописатели из ANSI про PL/I не слышали :))

Наткнулся на ссылку forth-standard.org
Пишут, что "This standard designates the following practice as obsolescent: Using ENVIRONMENT? to enquire whether a word set is present." Т.е. признано устаревшим, в следующих версиях стандарта, скорее всего, исключат.

График вроде похож на sin/cos с какой-то оконной (не прямоугольной и, вроде, не треугольной) функцией. :)
Да, соглашусь, хорошая реализация БПФ или преобразования Хартли на Форте никому не повредит. Может надо отдельную тему завести для разных математических трюков?

Автор:  chess [ Вт июл 16, 2019 23:34 ]
Заголовок сообщения:  Re: Что есть Форт?

Total Vacuum писал(а):
И, к большому сожалению, эту битву Форт пока безнадежно проигрывает.

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

Автор:  Hishnik [ Ср июл 17, 2019 00:32 ]
Заголовок сообщения:  Re: Что есть Форт?

chess писал(а):
Дело в неудачной реализации вычислительной модели Форта

Реализация-то подходящая. Просто она не для человека идеальна, а по совокупности характеристик, с прицелом на компиляторостроение. Регулярная грамматика + конкатенативная компиляция - проще некуда. Другое дело, что на этом можно много чего придумать, а Форт оказался "выжившим" сочетанием практических приемов. Например, вполне можно сделать обычный линейный массив слов вместо связанного списка, просто тогда будет уходить больше памяти на хранение заголовков. Ну и еще по мелочи можно напридумывать. Вопрос поднят действительно интересный - до каких пор можно что-то менять "по мелочи", чтобы:
1) Не выходить за рамки идеи "регулярная грамматика + конкатенативная компиляция".
2) Оставаться в состоянии быть понятым человеком, прочитавшим Баранова/Броуди.

Автор:  chess [ Чт июл 18, 2019 22:48 ]
Заголовок сообщения:  Re: Что есть Форт?

Hishnik писал(а):
Реализация-то подходящая. Просто она не для человека идеальна, а по совокупности характеристик, с прицелом на компиляторостроение.

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

Автор:  KPG [ Чт июл 18, 2019 23:34 ]
Заголовок сообщения:  Re: Что есть Форт?

Не совсем по теме - "Потери" сайтов с Форт наполнением
http://ccreweb.org/
Код:
Ccreweb.org closed on 28 May 2018, after twenty years of presence on the web.


P.S. Ещё пока есть некоторое содержимое в Веб архиве данного сайта по kForth
Возможно копии Форт сайтов имеет смысл сохранять для ForthCD
KForth.zip (архивный вариант содержимого данных сайта)

Автор:  Hishnik [ Пт июл 19, 2019 01:58 ]
Заголовок сообщения:  Re: Что есть Форт?

chess писал(а):
Доделка должна быть, например, введением локальных переменных без побочных эффектов или чем нибудь подобным.

Стек локальных переменных можно ввести и программно на Форте. Главное, чтобы не было необходимости заниматься распределением регистров.

Автор:  Hishnik [ Пт июл 19, 2019 03:23 ]
Заголовок сообщения:  Re: Что есть Форт?

Total Vacuum писал(а):
График вроде похож на sin/cos с какой-то оконной (не прямоугольной и, вроде, не треугольной) функцией.

Гауссовское окно. Это вариант вейвлета Морле.
Total Vacuum писал(а):
Да, соглашусь, хорошая реализация БПФ или преобразования Хартли на Форте никому не повредит.

Умножение с накоплением лучше как раз сделать на ассемблере/Си (ну или совсем на VHDL), а на Форте реализовать только обертку. Если рассмотреть проект в целом, то Форт - для тех компонентов, которые меняются часто, а если что-то пишется один раз, то эту часть имеет смысл оттюнинговать как следует. А раз так, то низкий уровень БПФ на Форте выявит все его недостатки в плане лишних действий со стеком. Поэтому Форт - это для организации действий с "математически нагруженными" подпрограммами - подготовить данные, запустить вычисления, показать результаты, пройтись со сменой параметров, сохранить-загрузить. Ближайший аналог - Python для OpenCV или TensorFlow.
Total Vacuum писал(а):
Может надо отдельную тему завести для разных математических трюков?

Можно и выделить тему для идей проектов. Для крупных есть разделы, можно и туда. Но вот обсуждение, что конкретно можно начать пробовать "вотпрямщас", тоже очень полезно.

Автор:  KPG [ Пт июл 19, 2019 10:51 ]
Заголовок сообщения:  Re: Что есть Форт?

Так как сайты (или их содержимое) с Форт наполнением могут исчезать (вспоминая forth.org.ru ),
то сделал zip снимок (через wget -m <url> ) ещё одного сайта
http://www-personal.umich.edu/~williams/

P.S. Можно даже завести отдельный топик или постить, в ForthCD топик, архивные копии сайтов с Форт наполнением. :)
Полезно и целесообразно ли это?

Автор:  Hishnik [ Пт июл 19, 2019 11:11 ]
Заголовок сообщения:  Re: Что есть Форт?

KPG писал(а):
Можно даже завести отдельный топик или постить, в ForthCD топик, архивные копии сайтов с Форт наполнением.

И потом еще с этого списка wget. :))

Автор:  KPG [ Пт июл 19, 2019 11:19 ]
Заголовок сообщения:  Re: Что есть Форт?

Hishnik писал(а):
Реализация-то подходящая. Просто она не для человека идеальна, а по совокупности характеристик, с прицелом на компиляторостроение.

Под Форт есть же и наработки Форт->С (также как и С->Форт), но вроде как, особого применения не нашли. :)
Да и полноценных компиляторов сделанных с Форт участием особо не видно. (или их не афишируют)

Автор:  Hishnik [ Пт июл 19, 2019 13:02 ]
Заголовок сообщения:  Re: Что есть Форт?

KPG писал(а):
Под Форт есть же и наработки Форт->С (также как и С->Форт), но вроде как, особого применения не нашли.

Да почему не нашли? Есть же разработки с входным языком Си и стековым процессором. Просто это готовые разработки, которые ни афишировать, ни еще как-то "продвигать" не требуется.
KPG писал(а):
Да и полноценных компиляторов сделанных с Форт участием особо не видно. (или их не афишируют)

Не вполне понимаю, что в данном случае есть "полноценный компилятор". Если нечто Си-подобное, то это от Форта отличается прежде всего классом грамматики, поэтому требует другого парсера, существенно более сложного. Регулярная грамматика позволяет отказаться от разбора выражений, поэтому с Фортом проще получить законченную систему, пробегающую по всей цепочке от исходного текста до машинного кода. Если же делать что-то Си-подобное, то уровень освоения технологий будет такой, что Форт получится "на сдачу". Можно посмотреть JVM или MSIL - там стек. Но что-то у меня очень уж серьезные сомнения, что разработчики этих вещей ходили к Муру на поклон (и вообще его о чем-то спрашивали).

Страница 3 из 16 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/