version control - How do I go about splitting Lisp code into multiple source files? -


Now, whatever I fit in a source file, and how you decide on it a surprisingly small How much and different is that in different files?

With Java, it's easy to decide what happens in a file (the decision has already been made for you), but I think I write several small functions which It is difficult to determine and it is difficult to decide if anything should be divided, as I have resolved big projects in Lisp, it will not be good to change the wheel again, but let me know about it Switch to was not a lot of concrete information on the web.

Can you share some strategies to deal with big projects in Lisp, or to point me out some resources to deal with this issue?

When you start to write a Lisp program, it may be useful to start with a file . Once the code gets very big (whatever it is) you can divide it

Some signals:

  • Some tools for managing the source There are file dependencies and functions such as compilation, load, compile-load and others. ASDF is one, but there are others too.

  • To describe dependency , you need a file to name it so that it can be recognized.

  • You may need to define one or more packages .

  • You may have to enter implementation specific procedures in your own files.

  • Configuration data for your files

  • General Utilities Another file should be

  • Macros must be defined before using other files depending on the file and the macro definition changes. , Then it should be automatically compiled again.

  • Group functionality together in a file if it is logically linked to the drawing program: All drawing functions, all user interface commands, printing in files, printing, ...

  • Do not care too much about the file size. Lisp source files can sometimes be larger than 100k

  • Moving the files is supported by the development environment. M.

  • Ensure that you can reload the file without restarting the entire Lisp.

  • Commonly load tasks as load and COMPILE-FILE provides you can use these functions in your files.


Comments

Popular posts from this blog

c# - ListView onScroll event -

PHP - get image from byte array -

Linux Terminal Problem with Non-Canonical Terminal I/O app -