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

...
Google Search
Forth-FAQ Spy Grafic

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




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

Форт развивается. Стоит ли использовать новые диалекты?
Плевать на диалекты, мне С-стиля программирования хватает! 0%  0%  [ 0 ]
Я сделал расширение Форта до ... и мне этого хватает! 13%  13%  [ 2 ]
Конечно! Люблю использовать последние достижения! 38%  38%  [ 6 ]
А что, это действительно эффективно? 25%  25%  [ 4 ]
Я вообще Форт не использую! 0%  0%  [ 0 ]
Другое. Опишите свой вариант в форуме. 25%  25%  [ 4 ]
Всего голосов : 16
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 12, 2007 15:19 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
in4 писал(а):
А ты попробуй!

Цвет меня в оригинальном CF просто угнетал. Привыкать к этому не захотелось. Поэтому и бросил этим заниматься.
in4 писал(а):
Мур, да и Броуди, хотели, чтобы было соответствие слово языка - машинный код. CF более соответствует такому, чем SPF+оптимизатор.

Это и есть эмуляция форт-машины средствами базовой машины с другой чем у форт-машины архитектурой - все
тот-же принцип раннего связывания слов-токенов-команд форт-машины с кусками кода базовой машины.
К сожалению это желание Мура-Броуди приводит к тормозному характеру кода, хотя при этом и достигается предельная простота транслятора. Ну что тут(это я про Мура) можно сказать - хочешь без заморочек сделать транслятор - делай, но смирись с тем, что этот транслятор будет выдавать тормозной код. Ну интересы Мура понятны - раз форт не ложится один к одному на платформу х86, то будем делать форт-платформы сами, в них-то Форт ведет себя хорошо во всех отношениях. В этом свете появление CF - несколько неожиданно. :o ???
in4 писал(а):
В моих первых версиях была только оптимизация хвостовой рекурсии. Вполне хватало.

У меня в компиляторе для МК сначала появились безстековые IF, UNTIL(WHILE я не использую), которые на самом деле могут работать и как стековые и как безстековые в зависимости от контекста(от ситуации в которой они используются), затем появилась оптимизация хвостовой рекурсии(прыжок в начало кода следующего слова без возврата из предыдущего слова), попозже появился цикл FOR/NEXT, потом появилось контекстное поведение слов(под контекстом здесь понимается тип данных, которые являются параметрами этих слов).
Откат процесса компиляции был сделан еще до них. Превратить многопроходную компиляцию на 100% в итерационный процесс, заканчивающийся оптимальным выходным кодом пока не удалось по причине большой загрузки делами, не касающимися Форта. Про CF в то время я ничего не знал. Эти идеи лежали на поверхности.
А вообще трансляторы(не только Форт-трансляторы) в плане быстродействия эволюционируют к золотой середине - гибриду, в котором время связывания токенов с кодом отодвинуто от самого раннего в сторону позднего и от позднего в сторону раннего. Этим достигается сочетание положительных свойств как форт-трансляторов так и например С-трансляторов(простота и возможность вносить изменения в транслятор на уровне программиста-пользователя(это форт) и высокое быстродействие кода(это С)).

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 12, 2007 23:32 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
chess писал(а):
Цвет меня в оригинальном CF просто угнетал. Привыкать к этому не захотелось. Поэтому и бросил этим заниматься.

Profit предложил не менее 2х вариантов бесцветного, у меня бесцветный, я его выше в этой теме описывал. Цвет - это просто разновидность способа использования слова. Можно выделять цветом, можно шрифтом - курсивом, жирным, подчеркиванием, размером. Можно - префиксами или суффиксами. Это решаемо. Я на цвета даже и не глядел, тем более что собирался использовать ее на моно-мониторе, монохромном терминале и монохромных экранах для микроконтроллеров.
chess писал(а):
Ну интересы Мура понятны - раз форт не ложится один к одному на платформу х86, то будем делать форт-платформы сами, в них-то Форт ведет себя хорошо во всех отношениях. В этом свете появление CF - несколько неожиданно.

Ничего неожиданного - работать на чем-то надо, хоть в инет ходить, хоть почту читать/посылать, а PC - самая распространенная архитектура. ;) Вот он и сделал интерпретатор ФортВМ. Причем не особо отлаживал/оптимизировал! ;) Работает - и ладно! Зато он на нем, вроде, новые чипы разрабатывал... :)
chess писал(а):
У меня в компиляторе для МК сначала появились безстековые IF, UNTIL...

Покажешь? Мои готовые вещи есть на forth.org.ru/~in4, будут новые - размещу рядом.

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт апр 13, 2007 14:33 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
in4 писал(а):
Profit предложил не менее 2х вариантов бесцветного, у меня бесцветный, я его выше в этой теме описывал. Цвет - это просто разновидность способа использования слова. Можно выделять цветом, можно шрифтом - курсивом, жирным, подчеркиванием, размером. Можно - префиксами или суффиксами. Это решаемо.

В СПФ все это делается без преффиксов, суффиксов и т.п. Зачем вводить лишние понятия. Способ использования слова однозначно определяется уже существующими средствами.
in4 писал(а):
Ничего неожиданного - работать на чем-то надо, хоть в инет ходить, хоть почту читать/посылать, а PC - самая распространенная архитектура. Вот он и сделал интерпретатор ФортВМ. Причем не особо отлаживал/оптимизировал!

Хоть в инет ходить, хоть почту читать/посылать и т.п. - для этого не нужен интерпретатор ФортВМ.
in4 писал(а):
Зато он на нем, вроде, новые чипы разрабатывал...

Зачем мучиться - есть для этого готовые мощные и гораздо более удобные программы. Что у Мура денег на них нет? :(
in4 писал(а):
Покажешь? Мои готовые вещи есть на forth.org.ru/~in4, будут новые - размещу рядом.

Показать то можно, только там написано все для х51-ядра, а ты делаешь, как я понял, для AVR.
У х51-ядра архитектура гарвардская - это для надежности: сегменты данных отделены от сегмента кода аппаратно, поэтому я писал не интерпретатор, а компилятор, а тебе нужен как я понял именно интерпретатор.
У меня даже словарей нет, слова есть(без имен), а словарей нет. Доступ к словам идет по адресам размещения их
в памяти кода. И компилятор расчитан на максимально плотную упаковку кода во внутреннюю флеш-память(ядро поддержки только слов используемых в программе: 5000 строк текста программы влезают в 8 кбайт вместе с ядром поддержки). Ну ладно - я тут насобираю все, что связано с моим компилятором в одну кучу и тебе на Email скину(у меня своего сайта нет, а в форум положить - нет тут этой возможности).
И еще - мне непонятно зачем ты все пишешь на АССМ для AVR - на СПФ же гораздо удобнее писать?
А вообще-то это было сделано 2 года назад - я только во время написания этого компилятора и начал осваивать Форт(спф). Теперь я бы сделал все это гораздо проще и лучше, а неохота - работает-же и так. :)

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт апр 13, 2007 16:53 
Цитата:
В СПФ все это делается без преффиксов, суффиксов и т.п. Зачем вводить лишние понятия.

State-smart слова. И вообще шибко "вумные" слова. Это такое злобнейшее и несомненное зло, которое лично я расцениваю не иначе как бичом традиционного Форта.

State-smart слова, кстати, являются главной причиной усложнения оптимизаторов Форта. Если их вырезать под корень (как в CF) оптимизаторы пишутся на бесконечно порядков проще.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт апр 13, 2007 18:34 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
chess писал(а):
Хоть в инет ходить, хоть почту читать/посылать и т.п. - для этого не нужен интерпретатор ФортВМ.
Да, для этого хорошо подходит
in4 писал(а):
PC - самая распространенная архитектура.
Так что неожиданного, что он ее использует как готовое отлаженное работающее железо(хост) для своих новых разработок? ;)
chess писал(а):
in4 писал(а):
Зато он на нем, вроде, новые чипы разрабатывал...

Зачем мучиться - есть для этого готовые мощные и гораздо более удобные программы. Что у Мура денег на них нет?
А от истинный Фортер! Все переписывает по-новой! :)
А если серьезно - у него такой способ работы. Он строит инструмент для решения своих задач. Так было и раньше. А Форт - это просто промежуточный результат его работы... ;)
И та система, что он сделал, позволет решать несколько "странных" (необычных для современных средств разработки) задач. Т.е. в этом смысле она уникальна и аналогов просто нет. Ну и конечно, она намноооого меньше любых близких аналогов!
chess писал(а):
Показать то можно, только там написано все для х51-ядра

Тогда это не очень интересует... :(
chess писал(а):
а тебе нужен как я понял именно интерпретатор.

И компилятор тоже. Хотел глянуть, как делается оптимизация на знакомую архитектуру и насколько сложно.
chess писал(а):
И еще - мне непонятно зачем ты все пишешь на АССМ для AVR - на СПФ же гораздо удобнее писать?

SPF не запускается под DOS на 486-75/12М ноуте... :(
chess писал(а):
А вообще-то это было сделано 2 года назад

Там тоже не новое... :(

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт апр 13, 2007 22:04 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
profiT писал(а):
State-smart слова, кстати, являются главной причиной усложнения оптимизаторов Форта. Если их вырезать под корень (как в CF) оптимизаторы пишутся на бесконечно порядков проще.

Вырезание таких слов еще один шаг к упрощению транслятора. Последним шагом на этом пути будет связывание каждого слова с одной командой процессора, таким образом мы перейдем к ассемблеру и оптимизатор уже сразу создан - читай: теряет всякий смысл. Это называется инволюцией(антиэволюция). По мне так у STATE нужно увеличить количество состояний. Вроде pinka к этому пришел(вводит режим текстовой компиляции).

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт апр 13, 2007 23:10 
chess писал(а):
Вырезание таких слов еще один шаг к упрощению транслятора. Последним шагом на этом пути будет связывание каждого слова с одной командой процессора, таким образом мы перейдем к ассемблеру и оптимизатор уже сразу создан - читай: теряет всякий смысл.

Нет никакой связи между упрощением интерпретации (именно интерпретации, а всей не трансляции в целом) и удалением/приближением исходных текстов к конечному маш. коду.

Как вообще можно говорить подобные мня-мня.. ерунды если только страницу назад я показал два, работающих, ColorForth'а на SPF?.. Которые оба-два (а скорее -- все три) никак не влияют на уровень отдалённости исходного текста от генерируемого маш. кода, так как слой оптимизатора для них прозрачен.

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

Не надо связывать тип коробки (ручная/автоматическая) с наличием в машине АБС, GPS, и пепельницы.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 14, 2007 11:33 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
М. выделить раздел для этой темы и еще пары связанных, которые появятся? Или еще тут побудем?

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 14, 2007 14:41 
chess писал(а):
По мне так у STATE нужно увеличить количество состояний. Вроде pinka к этому пришел(вводит режим текстовой компиляции).

Прямо собрание заблуждений какое-то... сolorForth-то как раз и построен на увеличении кол-ва состояний!.. "Цвета" -- это явно выраженные в коде программы состояния. Если в обычной системы состояний два, то в CF их как минимум -- пять-шесть and still counting.

(Остапа понесло)

Тезис о что сложное "лучше" простого (лучше в каких обстоятельствах, лучше когда, лучше за какие деньги, будет лучше до каких пор?) и представления об эволюции как о постепенном структурном усложнении организмов, на мой взгляд, мертвым-мертвя лежат в одном пласте с динозаврами и прочими монстрами морей и суши. 97% всей биомассы что составляет?.. Правильно, дети, простые одноклеточные в коре Земли. А из оставшихся копеечных процентов кто подавляюще многочисленен, успешен и живуч?.. Правильно, дети, насекомые.

А приматы что?.. Эскалация средней руки конфликта до мирового ядерного противостояния (хотя это уже менее актуально), бездумное уничтожение своей же среды обитания, истощение минеральных запасов, вторжение с Альдебарана более "правильных" жуков на Землю, пандемия какая-нибудь -- вот и конец всем обезьянам (в худшем случае -- заодно со всеми позвоночными).

(Остап совсем куда-то улетел не туда..)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 14, 2007 23:53 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
profiT писал(а):
Цитата:
В СПФ все это делается без преффиксов, суффиксов и т.п. Зачем вводить лишние понятия.

State-smart слова. И вообще шибко "вумные" слова. Это такое злобнейшее и несомненное зло, которое лично я расцениваю не иначе как бичом традиционного Форта.

State-smart слова, кстати, являются главной причиной усложнения оптимизаторов Форта. Если их вырезать под корень (как в CF) оптимизаторы пишутся на бесконечно порядков проще.


не понимаю я вас.
Мне нравятся эти самые StateSmart слова.
И достаточных причин, чтобы от них отказаться я не слышал :cry:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 14, 2007 23:57 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
chess писал(а):
Это называется инволюцией(антиэволюция). По мне так у STATE нужно увеличить количество состояний. Вроде pinka к этому пришел(вводит режим текстовой компиляции).


до этого у меня была система со многими состояниями 8)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 15, 2007 00:07 
mOleg писал(а):
Мне нравятся эти самые StateSmart слова.

Противоречивые нравилки. С одной стороны -- ругаем (справедливо) POSTPONE за его сложность, с другой -- в открытую говорим что любим "шибко-вумные" слова, тогда как второе как раз и определяет, мягко говоря, непрямую логику работы POSTPONE.

Попробуй скомпилировать слово TO.

Или попробуй однозначно, чётко, надёжно и без побочных эффектов поймать момент компиляции слова DUP/SWAP/(подставь-любое) например. Без хаков.

И вообще, у меня уверенность что кто-то из "классиков" однозначно выразил своё "фи" state-smart словам.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 15, 2007 00:46 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
profiT писал(а):
mOleg писал(а):
Мне нравятся эти самые StateSmart слова.

Противоречивые нравилки. С одной стороны -- ругаем (справедливо) POSTPONE за его сложность, с другой -- в открытую говорим что любим "шибко-вумные" слова, тогда как второе как раз и определяет, мягко говоря, непрямую логику работы POSTPONE.

POSTPONE - это действительно гадость. Но это редкое исключение.
И дело не в том, что оно STATE SMART !

profiT писал(а):
Попробуй скомпилировать слово TO.

[COMPILE] TO - должно работать, нет, даже обязано!

profiT писал(а):
Или попробуй однозначно, чётко, надёжно и без побочных эффектов поймать момент компиляции слова DUP/SWAP/(подставь-любое) например. Без хаков.

а зачем?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 15, 2007 01:12 
mOleg писал(а):
И дело не в том, что оно STATE SMART !

Оно сделано "шибко вумным" потому что вообще есть "шибко вумные" слова, анализирующие STATE. Если есть хотя бы одно state-smart слова -- будут хаки, будут "обходы", будут глюки, будут нестыковки в логике.

mOleg писал(а):
[COMPILE] TO - должно работать, нет, даже обязано!

Э-э, нет.. Тут вам не здесь.. Мне нужно скомпилировать слово TO, а не компилировать слово компилирующее слово (TO) (например, зависит от реализации).

И за [COMPILE] спасибо -- это как раз ярчайший пример идиотизма вызванного вызванного открытым ящиком Пандоры -- state-smart словами.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 15, 2007 01:19 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Думается, state-smart все же терпимы.... Но все равно интересно, как без них. Видимо, я сильно упусти л начало обсуждения.


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

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


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

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


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

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