Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср апр 24, 2024 07:52

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Что в каталоге lib лежит?
СообщениеДобавлено: Вс дек 10, 2006 01:53 
Не в сети

Зарегистрирован: Вс окт 15, 2006 13:05
Сообщения: 149
Откуда: Украина, Киев
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Вопрос касательно SPF4.18
Как в анекдоте -- а в чем подвох? Вот я не смог на этот вопрос ответить... Действительно, зачем этот каталог нужен, что в нем лежит?

Да, теорию, как и все, я знаю. Однако, наша объективность -- практика. По теории, там лежат наиболее часто используемые абстракции, конструкции и просто часто используемый и отлаженный код. Верно? К сожалению, нет. Посмотрите содержимое каталога devel -- что не автор, то свои библиотеки. Почему? Может есть причина?

История возникновения вопроса.

Работа с базами данных через ODBC -- это библиотечная функция. Но, эта библиотека лежит/ла у 3-х(!) авторов в личных библиотеках. Причем код ее был практичеки идеинтичен. По моей мысли, я должен был найти ее именно в общем каталоге lib. Но ведь там этой библиотеки как раз и нет :(

С моей точки зрения -- возможности системы отражает именно содержимое каталога lib. А что в нем сейчас находится?


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

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Лежит у двух - ~ac и ~yz. И эти две реализации существенно различаются в обработке таблиц - первая выдаёт всё строками (a u), а во второй есть типизация.
В ~pinka и ~ygrek дополнения к ним.

По поводу lib - да, было бы неплохо там собрать на самом деле наиболее часто использующиеся либы.

_________________
http://forth.org.ru/~ygrek


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 10, 2006 20:35 
а кто их поддерживать будет? ;)
А вообще, достаточно положить пустышки с линками ( S" ~author/lib/somelib.f" INCLUDED ) на авторские библиотеки, дабы не такскать их туда сюда.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 10, 2006 20:44 
Не в сети

Зарегистрирован: Вс окт 15, 2006 13:05
Сообщения: 149
Откуда: Украина, Киев
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Также как и сейчас само ядро. Должна же быть точка опоры :)

Существующий механизм -- кто-то активно работает с библиотекой, находит баг, устраняет его. Сообщает в рассылке об это. Кому интересно подключаются. Проверяют. Работает? Включаем исправление.

Я вот как раз за то, чтобы общие библиотеки были в общем месте ;) Если авторы, конечно, не против.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 10, 2006 23:31 
А как определять, что является "наиболее часто используемым", и насколько часто это делать?

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

>С моей точки зрения -- возможности системы отражает именно содержимое каталога lib. А что в нем сейчас находится?

Там находятся портированные в SPF широко известные библиотеки|компоненты и расширения ядра. И это правильно.

Возможности же системы (SPF как пакета) лучше отражать в отдельном документе, что уже и делается :)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 11, 2006 08:27 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
rvm писал(а):
...
Просто переносить библиотеку из одного каталога в другой нельзя, т.к. она уже много где прописанна, и эти связи станут невалидными.

Давно интересовал вопрос об упорядочивании поиска подключаемых либ.
А то, что не пример, то заморочки с компиляцией:)

P.S. Идея с указанием пустышек в каталоге либ или создания для spf
конфигурационного файла со ссылками на либы может быть решила
частично данную проблему.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 11, 2006 16:11 
Не в сети

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Kopa писал(а):
или создания для spf
конфигурационного файла со ссылками на либы может быть решила
частично данную проблему.

Что имеется ввиду?

_________________
http://forth.org.ru/~ygrek


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 11, 2006 16:30 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
yGREK писал(а):
Kopa писал(а):
или создания для spf
конфигурационного файла со ссылками на либы может быть решила
частично данную проблему.

Что имеется ввиду?

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

P.S. Так понятнее?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 11, 2006 19:59 
Не в сети

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Глюкодром. Если неизвестное слово встретится в режиме компиляции, вам придётся откатываться назад, подключать нужную либу и продолжать компиляцию всего проекта сначала. Отлавливать баги с дубликатами слов при этом будет вообще одно удовольствие.

Цитата:
При желании каждый может изменить для себя файл конфигурации и
приложить к проекту для правильной его компиляции.

Это вообще кошмар. Почему тогда просто не вписать в проекте правильные пути REQUIRE, если эти пути всё равно надо прописывать явно?

_________________
http://forth.org.ru/~ygrek


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 12, 2006 08:01 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
yGREK писал(а):
Глюкодром. Если неизвестное слово встретится в режиме компиляции, вам придётся откатываться назад, подключать нужную либу и продолжать компиляцию всего проекта сначала. Отлавливать баги с дубликатами слов при этом будет вообще одно удовольствие.
Цитата:
При желании каждый может изменить для себя файл конфигурации и
приложить к проекту для правильной его компиляции.

Это вообще кошмар. Почему тогда просто не вписать в проекте правильные пути REQUIRE, если эти пути всё равно надо прописывать явно?


Решением при повторным переопределение слов, может быть, включение
всех слов конфигурационного файла при компиляции.:)

По поводу правильных путей:
Привязывать проект к фиксированному месту расположения не хочется:)
поэтому компилятор должен определится с последовательностью поиска
слов при компиляции. Например сначала просматривать каталог с текущим проектом.

Моя практика компилирования проекта указанием относительного
расположения spf.exe от текущего проекта ( ..\..\spf.exe файл.f ).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 12, 2006 08:06 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Вот еще:)

http://groups.google.com/group/comp.lan ... cf425b1c17

I'm testing SP-Forth [http://sourceforge.net/projects/spf/] to run an
ANS Forth application of mine and I need to set the default paths for
all file operations.

I have searched into its documentation but I did not find anything
about file paths but a file (devel/~pinka/samples/2005/lib/lay-path.f)
that "provides words for lay a path to file (creating non-existent
folders)". That's not really what I need. I could use that solution,
but I would have to add a new layer in my code and then adapt it back
to run in other ANS Forths.


I need something transparent and simpler, like the "General Search
Paths" words of gforth.


If needed, I could adapt the SP-Forth code myself but perhaps someone
has had the same problem before.


Thank you


Marcos


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

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Никакой привязки к абсолютным путям в SPF нет при использовании файлов из дерева установки spf или относительно своего проекта (который может быть не в devel).
Поиск происходит следующим образом - S" file.f" INCLUDED будет искать - сначала просто короткое имя file.f, потом SPF_PATH/devel/file.f, потом SPF_PATH/file.f Если этих путей недостаточно, можно переопределить FIND-FULLNAME(который вектор) или воспользоваться моим решением - ~ygrek/lib/included.f
Тогда достаточно прописать (например в spf4.ini) что-то вида
Код:
  with: my_path\
  S" my path with spaces/" with

или немного более низкий уровень
Код:
MODULE: included_path
CREATE my_path/
S" My path with spaces/" CREATED
;MODULE

и файлы будут искаться также в my_path в дополнение к вышеперечисленному алгоритму.

PS За ссылку спасибо, сейчас скопирую этот же ответ туда.

_________________
http://forth.org.ru/~ygrek


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

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


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

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


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

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