common-lisp
Maatwerk
Zoeken…
Meer functies voor de Read-Eval-Print-Loop (REPL) in een terminal
CLISP heeft een integratie met GNU Readline.
Zie voor verbeteringen voor andere implementaties: Hoe de SBCL REPL aan te passen.
Initialisatiebestanden
De meest voorkomende Lisp-implementaties zullen proberen een init-bestand te laden bij het opstarten:
Implementatie | Init-bestand | Site / Systeem Init-bestand |
---|---|---|
ABCL | $HOME/.abclrc | |
Allegro CL | $HOME/.clinit.cl | |
ECL | $HOME/.eclrc | |
Sluiting | $HOME/.clasprc | |
clisp | $HOME/.clisprc.lisp | |
Clozure CL | home:ccl-init.lisp of home:ccl-init.fasl of home:.ccl-init.lisp | |
cmucl | $HOME/.cmucl-init.lisp | |
LispWorks | $HOME/.lispworks | |
MKCL | $HOME/.mkclrc | |
SBCL | $HOME/.sbclrc | $SBCL_HOME/sbclrc of /etc/sbclrc |
SCL | $HOME/.scl-init.lisp |
Voorbeeldinitialisatiebestanden:
Implementatie | Voorbeeld van init-bestand |
---|---|
LispWorks | Library/lib/7-0-0-0/config/a-dot-lispworks.lisp |
Optimalisatie-instellingen
Common Lisp heeft een manier om de compilatiestrategieën te beïnvloeden. Het is logisch om uw voorkeurswaarden te definiëren.
Optimalisatiewaarden liggen tussen 0 (onbelangrijk) en 3 (uiterst belangrijk). 1 is de neutrale waarde.
Het is handig om altijd veilige code (safety = 3) te gebruiken met alle runtime-controles ingeschakeld.
Merk op dat de interpretatie van waarden implementatiespecifiek is. De meeste Common Lisp-implementaties maken enigszins gebruik van deze waarden.
omgeving | Uitleg | nuttige standaardwaarde | nuttige leveringswaarde |
---|---|---|---|
compilation-speed | snelheid van het compilatieproces | 2 | 0 |
debug | gemak van debuggen | 2 | 1 of 0 |
safety | runtime foutcontrole | 3 | 2 |
space | zowel codegrootte als runtime-ruimte | 2 | 2 |
speed | snelheid van de objectcode | 2 | 3 |
Een optimize
aangifte voor gebruik met declaim
, declare
en proclaim
:
(optimize (compilation-speed 2)
(debug 2)
(safety 3)
(space 2)
(speed 2))
Merk op dat u ook speciale optimalisatie-instellingen kunt toepassen op delen van de code in een functie met behulp van de macro LOCALLY
.