Newbie Common Lisp question -- is there anything similar to "virtualenv" in the Common #Lisp world?
I have QuickLisp beta installed; but, it seems to fill a role more similar to pip in the Python world.
Newbie Common Lisp question -- is there anything similar to "virtualenv" in the Common #Lisp world?
I have QuickLisp beta installed; but, it seems to fill a role more similar to pip in the Python world.
Always used to use 'modules' to manage all manner of application and library versioning.
https://modules.readthedocs.io/en/latest/
See perhaps the example for bar/1 at
https://modules.readthedocs.io/en/latest/cookbook/top-priority-values.html#usage-example
There seems to be heaps of sophisticated mechanism, but all that's needed in most cases is a modulefile for each version of a tool which typically contains just sets and appends:
# define a regular value for variable
setenv TESTVAR value
# prepend a regular value to a path-like variable
prepend-path TESTPATH prevalue
and then part of the environment setup is one or more
module load toolname/version
shell commands
The crucial observation is that tools (should) only know anything by dint of what's in the environment, so manipulating the environment in a controlled way is all you need to create a configuration-managed workflow.
Typically we'd've written top level module files which pick up a suite of tool-versions for a specific chip build purpose.
The idea was that you could pick up a two-year-old revision of source and trivially acquire all the vintage-appropriate tooling for it.
@vertigo With quicklisp (and the quicklisp distribution) all the systems are built against each other each month and are all compatible with one another within one release. Most systems and their protocols stay the same so it's seen as much less of a priority by the community to solve this problem (granted it's not sustainable but this at the moment for the large part it isn't an issue)
There is qlot https://github.com/fukamachi/qlot if you need to freeze dependencies or pull in things that aren't in quicklisp. Although I haven't needed to use this myself
If you need help with anything else I would recommend asking questions in #lisp or #clschool on freenode, they're sure to get an answer to you quicker
@Gnuxie Ahh! Thank you! I will look into qlot.
I am currently using QuickLisp for my projects and it's working well enough at the moment.