Forth
http://fforum.winglion.ru/

VALUE приспособлен для других целей
http://fforum.winglion.ru/viewtopic.php?f=2&t=3187
Страница 1 из 3

Автор:  Hishnik [ Пт авг 10, 2018 00:41 ]
Заголовок сообщения:  VALUE приспособлен для других целей

Собственно, состоялось. Для одного из DSL слово VALUE оказалось задействовано для других целей. Результаты красивые (и система дорогая и сложная). Я к тому, что умозрительные соображения ANS94 понемногу отваливаются сами под напором конкретных проектов.

Автор:  KPG [ Пт авг 10, 2018 03:00 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

Hishnik писал(а):
Собственно, состоялось. Для одного из DSL слово VALUE оказалось задействовано для других целей. Результаты красивые (и система дорогая и сложная). Я к тому, что умозрительные соображения ANS94 понемногу отваливаются сами под напором конкретных проектов.


А VALUE то чем не угодила? :)
Скобочки хоть остались в своей ипостаси?

Автор:  Victor__v [ Пт авг 10, 2018 09:08 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

KPG писал(а):
Hishnik писал(а):
Собственно, состоялось. Для одного из DSL слово VALUE оказалось задействовано для других целей. Результаты красивые (и система дорогая и сложная). Я к тому, что умозрительные соображения ANS94 понемногу отваливаются сами под напором конкретных проектов.


А VALUE то чем не угодила? :)
Скобочки хоть остались в своей ипостаси?

Неа
См. пример в СПФ
~yz\lib\automate.f

Автор:  Hishnik [ Пт авг 10, 2018 16:04 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

Вообще говоря, есть устоявшиеся термины. Например, пара "имя" - "значение", т.е. <name> <value>. И VALUE интуитивно воспринимается как "значение переменной". Пока VALUE еще живет в недрах словаря, но уже перекрыто.

Скобки пока никуда не пригодились. Но я их давно не использую в качестве комментариев. Нормальный вариант //, его и многие редакторы автоматически подсвечивают.

Автор:  Victor__v [ Пт авг 10, 2018 17:10 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

Да, круглые скобки почти не используются.
В основном для совместимости с СПФ-скими творениями.

Автор:  Hishnik [ Пт авг 10, 2018 22:58 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

Интересно было бы выяснить действительные причины выбора скобок в качестве комментариев. Неужели просто детское желание эпатировать критиков и еще раз обратить внимание на постфикс?

Автор:  Victor__v [ Пт авг 10, 2018 23:24 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

Наверно рассуждали так:
Форт четвёртый язык программирования.
Значит имеет право застолбить
вон Лисп 2-й и скобки использует некошерно.
Мы тоже хотим есть отличаться

Автор:  Ethereal [ Сб авг 11, 2018 10:06 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

Hishnik писал(а):
Собственно, состоялось. Для одного из DSL слово VALUE оказалось задействовано для других целей. Результаты красивые (и система дорогая и сложная). Я к тому, что умозрительные соображения ANS94 понемногу отваливаются сами под напором конкретных проектов.
Да пожалуйста. VALUE из ANS-а какой-то ущербный был. Над ним только операция TO была определена. Ну и нафиг он такой нужен? Главное QUAN не трогайте, а то я разозлюсь ибо пара AT и TO ортогонально объединяла сущности переменных и констант и вообще Баранов и Ноздрунов наше все.

Автор:  Hishnik [ Сб авг 11, 2018 13:28 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

QUAN конечно остается. Это уже давняя привычка. По сути QUAN это 0 VALUE, и чем пользоваться - дело вкуса. Но VALUE "пригодилось".

Автор:  mOleg [ Сб авг 11, 2018 20:38 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

про скобки забавно. Ведь они вполне штатно используются:

: some ( a b c --> d e )
и я не вижу разницы между
int some(a,b,c);

и там и там речь про помощь пользователю\компилятору.

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

Про VALUE не понял, о чем речь-то?

Автор:  Hishnik [ Сб авг 11, 2018 22:46 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

mOleg писал(а):
: some ( a b c --> d e )
и я не вижу разницы между
int some(a,b,c);

В первом случае на стеке останется два числа, во втором возвращается одно число типа int. Из-за невозможности функции в Си вернуть больше одного значения приходится использовать указатели на структуры.
mOleg писал(а):
и там и там речь про помощь пользователю\компилятору.

Нет, в Форте помощь пользователю, а в Си - компилятору. В Форте это просто комментарий, а при совмещенном стеке компилятор без явного указания не может угадать, что именно является параметром, а что уже адрес возврата.
mOleg писал(а):
Форт не контролирует количество параметров,
а мог бы, т.е. по коментариям можно было бы контролировать баланс стека.

Это не так сложно сделать при отладке. Часто постфикс и неконтролируемый стек упоминаются как важные проблемы на ранних стадиях освоения, но при наличии навыков проблема контроля как-то сама решается.

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

Автор:  mOleg [ Сб авг 11, 2018 23:10 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

Hishnik писал(а):
mOleg писал(а):
: some ( a b c --> d e )
и я не вижу разницы между
int some(a,b,c);

В первом случае на стеке останется два числа, во втором возвращается одно число типа int. Из-за невозможности функции в Си вернуть больше одного значения приходится использовать указатели на структуры.

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

Hishnik писал(а):
mOleg писал(а):
и там и там речь про помощь пользователю\компилятору.

Нет, в Форте помощь пользователю, а в Си - компилятору. В Форте это просто комментарий, а при совмещенном стеке компилятор без явного указания не может угадать, что именно является параметром, а что уже адрес возврата.

нифига подобного!
Я(пользователь) беру Си-шный текст, беру текст на Форте и я пользуюсь этими самыми вещами(по сути комментариями в скобках) для получения информации о входящих\выходящих параметрах. Посему разницы в использовании скобок в Форте и в Сях не вижу в общем.

Hishnik писал(а):
mOleg писал(а):
Форт не контролирует количество параметров,
а мог бы, т.е. по коментариям можно было бы контролировать баланс стека.

Это не так сложно сделать при отладке. Часто постфикс и неконтролируемый стек упоминаются как важные проблемы на ранних стадиях освоения, но при наличии навыков проблема контроля как-то сама решается.

Есть разные фазы работы с исходными текстами. Я акцентирую внимание на фазе анализа и написания кода (т.е. интерфейс с программистом), фаза трансляции текста компьютером мною намеренно опущена, а тем более, фаза отладки.

Hishnik писал(а):
Скобки можно пристроить для автоматического создания локальных переменных. Был бы практический толк от такого.

Хорошая задача для конкурса задач 8)
Жаль, что до сих пор я не видел реализации 8(

Автор:  Victor__v [ Сб авг 11, 2018 23:17 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

mOleg писал(а):
Хорошая задача для конкурса задач 8)
Жаль, что до сих пор я не видел реализации 8(


СПФ:
LIB\EXT\LOCALS.F
: ( [COMPILE] { ; IMMEDIATE

8)

Автор:  Hishnik [ Вс авг 12, 2018 00:11 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

mOleg писал(а):
Я(пользователь) беру Си-шный текст, беру текст на Форте и я пользуюсь этими самыми вещами(по сути комментариями в скобках) для получения информации о входящих\выходящих параметрах. Посему разницы в использовании скобок в Форте и в Сях не вижу в общем.

Вот только комментарии никак не воздействуют на результат компиляции, поэтому можно написать одно, а по факту произойдет совершенно другое. Так что тут можно только рекомендовать и предупреждать, да и в целом скобки проигнорировать,а в Си без скобок совершенно не обойтись.

mOleg писал(а):
Хорошая задача для конкурса задач 8)
Жаль, что до сих пор я не видел реализации 8(

Это может зависеть от движка. Как я хочу сделать - точно зависит.
Victor__v писал(а):
СПФ:
LIB\EXT\LOCALS.F
: ( [COMPILE] { ; IMMEDIATE

Там так и остался фиксированный размер блока под все локальные переменные проекта? Мне как ответили "ну так можно при необходимости пересобрать СПФ", так я и закрыл эту тему. Еще не хватало держать в голове массу разных ограничений, за которые можно выйти, и которые решаются перекомпиляцией. Удобная отговорка "мы вам дали исходные тексты, так что сами там и поправьте все... но пользуйтесь нашим". Спасибо, лучше уж свое написать сразу с соблюдением нужных правил и условий.

Автор:  Victor__v [ Вс авг 12, 2018 00:36 ]
Заголовок сообщения:  Re: VALUE приспособлен для других целей

Hishnik писал(а):
Это может зависеть от движка. Как я хочу сделать - точно зависит.
Victor__v писал(а):
СПФ:
LIB\EXT\LOCALS.F
: ( [COMPILE] { ; IMMEDIATE

Там так и остался фиксированный размер блока под все локальные переменные проекта? Мне как ответили "ну так можно при необходимости пересобрать СПФ", так я и закрыл эту тему. Еще не хватало держать в голове массу разных ограничений, за которые можно выйти, и которые решаются перекомпиляцией. Удобная отговорка "мы вам дали исходные тексты, так что сами там и поправьте все... но пользуйтесь нашим". Спасибо, лучше уж свое написать сразу с соблюдением нужных правил и условий.


Не уловил сути. Какой ещё фиксированный размер?

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