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/ |