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 .



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow