Как я иду о разделении кода Lisp в несколько исходных файлов?

Используя ПОЛ () - просто часть времени сокращения.

SELECT CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME)
20
задан Rainer Joswig 6 September 2018 в 06:49
поделиться

3 ответа

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

Несколько советов:

  • Есть несколько инструментов для управления зависимостями исходного файла и обеспечения таких действий, как компиляция, загрузка, компиляция и - нагрузка и другие. ASDF - это один, но есть и другие.

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

  • Вам может потребоваться файл для определения одного или нескольких пакетов .

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

  • переместить большие объемы данных конфигурации в их собственные файлы

  • общие утилиты должны быть в другом файле

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

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

  • не слишком заботятся о размере файла. Исходные файлы Lisp могут быть большими. Иногда 100k.

  • перемещение в файлах поддерживается средой разработки. М-. на символе находит свой источник.

  • убедитесь, что вы можете перезагрузить файл, без необходимости перезапускать весь Лисп.

  • Common Lisp предоставляет LOAD и COMPILE-FILE как функции. Вы можете использовать эти функции в своих собственных файлах.

14
ответ дан 30 November 2019 в 00:59
поделиться
6
ответ дан 30 November 2019 в 00:59
поделиться

Если вы используете Common Lisp, ASDF является популярным способом определения систем. Он обрабатывает зависимости порядка загрузки между вашими исходными файлами (и многое другое).

4
ответ дан 30 November 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: