-
Notifications
You must be signed in to change notification settings - Fork 124
FAQ
See Policy on how Roswell affects or manipulates your system.
See Why C?< 8000 /p>
See Local installation.
Use ROSWELL_HOME
environment variable. (Not ROSWELL_INSTALL_DIR
)
For a standardized command line behavior roswell does not load implementation-specific init scripts like .sbclrc
.
The only init script loaded by the implementation is ~/.roswell/init.lisp
.
The file is shared & loaded by all common lisp implementations invoked from roswell.
You can disable the init file loading by specifying +R
to ros
.
Roswell adds ~/.roswell/local-projects/
to ASDF's source registry during the initialization.
~/common-lisp/
is also available, as it's the default local directory ASDF uses to look for systems.
See in the ASDF manual for further information.
Create a symlink from ~/.roswell/local-projects/
to whatever your favorite directory is. ASDF searches for system definitions recursively.
If you are using sbcl-bin
with roswell, the installation doesn't include source code. You need to install the source via ros install sbcl[/version] --without-install
which downloads the sbcl source code for sbcl-bin.
See Initial Recommended Setup.
You probably didn't setup Slime with Roswell.
You probably have been using slime and quicklisp when you installed Roswell. If you didn't touch the emacs settings, your slime is the old slime you have been using, and the quicklisp visible from your slime is the quicklisp that you installed.
However, Roswell installs and use a new quicklisp directory installed separately under ~/.roswell
, and your slime does not tell the underlying lisp to look up this directory on the startup.
The easiest way to achieve the best result is to follow the instruction for installing slime for roswell, which can be found here:
Initial Recommended Setup.
In interpreter mode (without dump), the script is evaluated as a top-level form.
So, if you use in-package
within the script, that same package will be effective when launching the main
function.
The main
function called by roswell should be in this last effective package.
Edit: now it acts the same in the dumped images. 2015/12/11
$ ros dynamic-space-size=2000 -- ...
On sbcl, try #+sbcl (sb-ext:enable-debugger)
. You may use other impl-specific interfaces in other implementations.
Consider letting the script read the data from the standard input.
At the moment, you should obtain a fresh random state inside the script by (setf *random-state* (make-random-state t))
.
PATH is set differently under CRON. Use the absolute path for the Instead of modifying the script, set up the ros
command in the script.PATH
from the caller in crontab
.
- Place your subprojects under the main projects.
+ projects/
+ main.ros
+ src/
+ t/
+ subproj1/
+ subproj2/ ;; or
+ local-projects/
+ subproj1/
+ subproj2/
- use
ros -e "(setf ql:*local-project-directories* '(#p\"$(PWD)/\"))" dump executable main.ros
or equivalent. If you build it withmake
, useCURDIR
instead ofPWD
, since it is robust againstmake -C ...
.
I (guicho2.71828) use the following makefile:
submodules:
git submodule update --init --recursive --remote
mwup: $(shell find -name "*.lisp") submodules
ros -e "(setf ql:*local-project-directories* '(#p\"$(CURDIR)/\"))(ql:register-local-projects)" dump executable ./main.ros
- Installation
- Initial Recommended Setup
- Roswell as a Scripting Environment
- ros template
- Set up guide for Anaconda virtual env
- Roswell as a Scripting Environment
- Advanced scripting
- Reducing Startup Time
- List of Roswell Installable Scripts
- Practical Usecases
- Building images and executables