Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Строить префикс «slim» из рантайма и Library #148

Closed
Mazdaywik opened this issue Dec 20, 2017 · 1 comment
Closed
Assignees
Labels

Comments

@Mazdaywik
Copy link
Member

Эта задача — подзадача #134 и #87.

В задаче #87 предлагалось реализовать следующие режимы:

  • --rich — префикс, состоящий из всех стандартных библиотек,
  • --slim — префикс, состоящий только из рантайма,
  • --scratch — без префикса, нужен компилятор C++.

Предлагается изменить семантику --slim: подключать в этом случае префикс, состоящий из рантайма и библиотеки Library. Библиотека LibraryEx написана на Рефале — будет просто прицепляться как скомпилированный .rasl файл. Библиотека Hash может быть либо недоступна, либо уже быть в префиксе — вопрос открыт.

Зачем нужен такой --slim? Нужен для компиляции программ на РЕФАЛе-5, например SCP4. Дело в том, что в программе уже могут находиться функции, одноимённые функциям библиотеки LibraryEx — использовать --rich в этом случае нельзя. С модулем Hash такой проблемы быть не должно, поскольку он содержит только одну entry-функцию HashLittle2-Chars, шанс на коллизию с которой минимален.

Поэтому, возможно, наилучшим решением будет отказаться на данном этапе от библиотеки Hash (она нужна очень редко), в будущем сделав её динамически подключаемым модулем типа N.

@Mazdaywik
Copy link
Member Author

Всё-таки, в новый префикс модуль Hash входить будет. Для единообразия. Конфликт с функцией HashLittle2-Chars практически невозможен, поэтому пускай она будет.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant