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.

@vertigo not specific to lisp, but you should use docker!

Always used to use 'modules' to manage all manner of application and library versioning.
https://modules.readthedocs.io/en/latest/

@rage @vertigo

Environment Modules — Modules documentation

@EdS @rage I've skimmed the docs, but I'm still unclear on how I would use this tool to manage dependencies on a specific project.

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

@vertigo @rage

Top priority environment variable values — Modules documentation

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 @rage

@rage Heck no; I'm trying to simplify my life, not exacerbate it! ;}
@rage Seriously, though, Docker and I have never gotten along. I could *never* figure that thing out.

@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

GitHub - fukamachi/qlot: A project-local library installer for Common Lisp

A project-local library installer for Common Lisp. Contribute to fukamachi/qlot development by creating an account on GitHub.

GitHub

@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.

> @vertigo [1]

[...]


> If you need help with anything else I would recommend asking questions in #lisp [3] or #clschool [4] on freenode, they're sure to get an answer to you quicker

Or, if you can bear my horrible english, you can ask here :)

(if i can help, of course! ;-))

Bye!
C.