Forth
http://www.fforum.winglion.ru/

Quark2 в виде компонентов
http://www.fforum.winglion.ru/viewtopic.php?f=23&t=2736
Страница 2 из 2

Автор:  WingLion [ Ср июн 22, 2011 20:09 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

Напомнило: http://ruf09we.winglion.ru/index.php

Автор:  Hishnik [ Ср июн 22, 2011 20:13 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

вопрос писал(а):
вопрос писал(а):
По поводу минимализма и чем он вредит форту и (форту - ладно) фортерам. Когда стремятся запрограммировать форт на 12-18 примитивах, это как раз есть игнорирование одной возможности форта - расширяемости вниз - подменяемости нижнего уровня

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

Правильный путь
программист начинает не с создания фортов, но с уважения к экономии своего времени, он создаёт большой форт с понятной структурой а после урезает его, подменяя примитивы, а всё остальное уже имея реализованным (и протестированное)

Ну так это все к чему? Утверждение-то где?

Автор:  вопрос [ Ср июн 22, 2011 20:40 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

ЧТо тут неочевидно?
Строить форт-систему нужно не
1. для каждого случая
не
2. фрагментарно непонятно как
а
так, чтобы стремиться включить все случаи

Автор:  WingLion [ Ср июн 22, 2011 20:55 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

вопрос писал(а):
включить все случаи


Например, не забыть обязательно включить примитивы для управления нейтронной бомбой!

Автор:  вопрос [ Ср июн 22, 2011 21:13 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

просто наиболее широкий набор примитивов

Автор:  Antender [ Ср июн 22, 2011 21:53 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

По-моему нормальный фреймворк это то, чего форту всегда не хватало. А если к новому кварку можно будет ещё и сишные библиотеки без проблем подключать, будет совсем шикарно.

Автор:  Hishnik [ Ср июн 22, 2011 22:26 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

вопрос писал(а):
ЧТо тут неочевидно?
Строить форт-систему нужно не
1. для каждого случая
не

А для группы/класса случаев.
вопрос писал(а):
не
2. фрагментарно непонятно как

Разве из изложения непонятен принцип разделения слов по компонентам?
вопрос писал(а):
так, чтобы стремиться включить все случаи

Например, система на МК должна содержить константу 0 CONSTANT NUMBER_OF_USB3.0_HOST_CONTROLLERS, а также еще пару сотен килобайт подобных констант, которые описывали бы все возможные варианты использования конкретно этой сборки (одной на все применения), а заодно гарантированно съедали бы доступную системе память?
вопрос писал(а):
просто наиболее широкий набор примитивов

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

Автор:  Hishnik [ Ср июн 22, 2011 22:30 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

Antender писал(а):
А если к новому кварку можно будет ещё и сишные библиотеки без проблем подключать, будет совсем шикарно.

Скорее кварк будет новой библиотекой для сборки в составе проекта на Си. Как вариант, любая функция Си может быть "сброшена" в форт-машину в виде строки

: AdditionalCFunction <xxxx> EXECUTE ;

где xxxx - адрес, определенный для этой функции в рантайме.
Имея функции Push и Pop для доступа к стеку данных, такие функции "влезут" и в форт-машину.

Автор:  chess [ Чт июн 23, 2011 11:07 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

Хищник писал(а):
Реализация, конечно, будет отличаться.

Тогда ядро для форт-процессора (п.1) и ядро для ARM (п.1) будут разными компонентами?
Похоже термин 'компонент' требует пояснения.

Автор:  Hishnik [ Чт июн 23, 2011 11:44 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

chess писал(а):
Тогда ядро для форт-процессора (п.1) и ядро для ARM (п.1) будут разными компонентами?

Для компонента в данном случае специфицируется интерфейс, а не реализация.

Автор:  VoidVolker [ Пт июл 08, 2011 07:21 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

А мне нравится - всеми лапами за.

Автор:  Hishnik [ Чт авг 04, 2011 19:59 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

Может показаться интересно. В процессе разработки был фрагмент кода Code[pc]. В ходе рефакторинга был заменен на ReadCode(pc)... но скобки в одном месте "забылись" поменяться :) Получилось ReadCode[pc]. То есть простое обращение к массиву заменено на вызов функции. Как это проинтерпретировал компилятор: ReadCode - это адрес функции ReadCode. К нему надо прибавить смещение, равное pc, полученный адрес есть искомый адрес. А я все удивлялся "мерцающему" эффекту - тестовое слово DUP случайно оказалось по такому адресу, что его pc отправил компилятор на... Nop() :))
На Форте это было бы не спутать

Код:
: ReadCode[pc]  pc @ ['] ReadCode + ;
: ReadCode(pc)  pc @ ReadCode ;

Автор:  chess [ Чт авг 04, 2011 20:22 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

Хищник писал(а):
На Форте это было бы не спутать

Да спутать скобки нет ничего проще. Я уже путал { } на [ ] и наоборот. Причем ошибки явной нет(можно и так и так). И это уже в Форте с манипуляторами. Главное не где, а что. Появляется подобный синтаксис и с ним соответствующие ляпы. :)

Автор:  dynamic-wind [ Вс авг 07, 2011 14:59 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

Хищник писал(а):
Как это проинтерпретировал компилятор: ReadCode - это адрес функции ReadCode. К нему надо прибавить смещение, равное pc, полученный адрес есть искомый адрес. А я все удивлялся "мерцающему" эффекту - тестовое слово DUP случайно оказалось по такому адресу, что его pc отправил компилятор на... Nop() :))

gcc в таком случает выдает 'error: subscripted value is neither array nor pointer'.
У Вас проблемы с инструментом или с его использованием.

Автор:  Hishnik [ Вс авг 07, 2011 20:33 ]
Заголовок сообщения:  Re: Quark2 в виде компонентов

dynamic-wind писал(а):
gcc в таком случает выдает 'error: subscripted value is neither array nor pointer'.
У Вас проблемы с инструментом или с его использованием.

Там был typecast, поэтому ошибка оказалась подавлена.

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