Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт апр 18, 2024 15:10

...
Google Search
Forth-FAQ Spy Grafic

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




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

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

Обзор темы - µForth :: контроль версий слов
Автор Сообщение
  Заголовок сообщения:  Re: µForth :: контроль версий слов  Ответить с цитатой
Majestic писал(а):
Как нам собрать (интерпретировать) модуль, предназначенный для версии 1.8 в реализации 2.0?

1. Начинать модуль для PIMPFORTH версии 1.8 строчкой
Код:
1 8 PIMPFORTH

2. С версией 2.0 будет файлик pimpforth-2.0:
Код:
\ вот поменял аргументы местами, так будет вдвое лучше
: SEND ( старое) SWAP SEND ( новое) ;

3. Такие же файлики будут для всех версий, где есть поменянные слова.
4. Если версия системы 2.0, а модуль хочет 1.8, то слово PIMPFORTH найдёт и включит pimpforth-2.0, а потом pimpforth-1.9
:mrgreen:
Сообщение Добавлено: Пт май 24, 2013 02:14
  Заголовок сообщения:  Re: µForth :: контроль версий слов  Ответить с цитатой
mgw писал(а):
Для слов контроль версий, это перебор. Слово в форте, это аналог функция в С. А а вот контроль версий модулей, это хорошо. На мой взгляд нужен автоматический механизм тестирования, как например в fork от mOleg. Запустил систему и дал команду --> тестируйся. Этакая самодиагностика.

Возможно имеет смысл если будут "насследоваться" слова и программы из других Форт систем. Бывает не отличаются по интерфейсам,
а реализация завязана на внутренние особенности конкретной системы. И это можно учитывать в мета информации на конкретное слово.
Сообщение Добавлено: Чт май 23, 2013 16:12
  Заголовок сообщения:  Re: µForth :: контроль версий слов  Ответить с цитатой
Для слов контроль версий, это перебор. Слово в форте, это аналог функция в С. А а вот контроль версий модулей, это хорошо. На мой взгляд нужен автоматический механизм тестирования, как например в fork от mOleg. Запустил систему и дал команду --> тестируйся. Этакая самодиагностика.
Сообщение Добавлено: Чт май 23, 2013 10:13
  Заголовок сообщения:  µForth :: контроль версий слов  Ответить с цитатой
Пока "µForth" на данном форуме не устаканилось, буду использовать сей термин а-ля namespace С++ :) ...

В данный момент в голове вопрос "чего делать с модернизацией языка"?

На пальцах:

В версии 1.8 "языка" слово SEND снимает со стека два значения и производит деление.
В версии 2.0 "языка" слово SEND снимает со стека два значения и производит деление с округлением.

Как нам собрать (интерпретировать) модуль, предназначенный для версии 1.8 в реализации 2.0?

Берем "классику" типа Qt. На этапе компиляции вылетают варнинги типа несоответствие типа. Иными словами, то части функций нет, то аргументы не те. И то это, чисто формально ....

А если в версии слова AGE аргументом будет сперва дата рождения, а потом возраст в годах? Типы одинаковые - но трактация и обработка разные должны быть!

Вощем в будущем языке "µForth" хочу ввести понятие "версия слова". Это будет означать следующее:

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

Критикуйте и предлагайте, вэлком! :)
Сообщение Добавлено: Чт май 23, 2013 01:48

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


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