Common Lisp: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
→Żródła: peflags |
literówki, zbędne spacje |
||
Linia 4:
Środowiska:
* OS
**Ubuntu
* windows
* IDE
** mode
*** major mode
*** minor mode
=Przygotowania=
Linia 17:
== praca w konsoli ==
Aby''' zainstalować''' Common Lispa ( tu SBCL) w [[Ubuntu]] należy w konsoli wpisać
sudo apt-get install sbcl
▲'''Uruchomiamy''' sbcl poprzez wpisanie w konsoli :
sbcl
Otrzymujemy
This is SBCL 1.0.29.11.debian, an implementation of ANSI Common Lisp.
Linia 37 ⟶ 34:
*
Aby '''zakończyć''' SBCL
Jeśli w programie zostanie wykryty błąd, to włączy się odpluskwiacz i zmieni znak zachęty
0]
aby wyjść z niego wprowadź "0"
0] 0
*
▲Czasem włączy się '''niskopoziomowy odpluskwiacz''' :
Welcome to LDB, a low-level debugger for the Lisp runtime environment.
ldb>
Aby wyjść wprowadź "quit"
ldb> quit
Really quit? [y]
== praca z IDE (
Można wykorzystać Emacsa jako edytor oraz IDE. Jest to omówione w podręczniku[[ Emacs]]a
Linia 68 ⟶ 62:
==Wprowadzanie poleceń==
▲Mamy kilka sposobów :
▲* wprowadzać pojedyncze polecenia ( patrz wyżej)
▲* wczytać plik z programem ( tryb wsadowy , ang. batch mode )
* wczytać biblioteki, a następnie wprowadzić polecenia
Linia 82 ⟶ 72:
====Wczytywanie pliku====
*default-pathname-defaults*
(load "q.lisp")
Lepiej użyć makra definiującego ścieżkę
(load #p("/path/to/file"))
W środowisku windows
(load "c:\\temp\\testload")
Linia 107 ⟶ 97:
:name "testload"))
lub
(load (make-pathname
Linia 117 ⟶ 107:
== Kompilacja ==
Jeśli wczytujemy plik z kodem w lispie (
Kompilacja pojedynczej '''funkcji'''
(compile 'nazwa-funkcji)
Kompilacja
(compile-file "l.lisp" :output-file "l")
Otrzymujemy plik l.fasl. Możemy go uruchomić z linii poleceń
chmod +x l.fasl
./l.fasl
Linia 139 ⟶ 129:
(time < exp>)
Profiler nie jest częścią standardową Common Lispa,<ref>[http://www.psg.com/~dlamkins/sl/chapter28.html Successful Lisp: How to Understand and Use Common Lisp by David B. Lamkins, Chapter 28 - Practical Techniques for Programming ]</ref> ale powinien być w każdej wersji. Np. w SBCL jest
=Programowanie=
=Stałe=
Stałe globalne definiujemy za pomocą makra '''defconstant'''
(defconstant iSide 33 "side of rectangular plane / viewport / image in pixels ")
==Pętle==
Pętla z użyciem makra '''loop'''
(loop for y from -1.5 to 1.5 by 0.5 do (format t (concatenate 'string "y= " (write-to-string y) "~%")))
wynik działania
y= -1.5
y= -1.0
Linia 157 ⟶ 147:
y= 1.5
NIL
Inne parametry
(loop for y from -1.5 to 1.5 by 0.4 do (format t (concatenate 'string "y= " (write-to-string y) "~%")))
Wynik działania
y= -1.5
y= -1.1
Linia 172 ⟶ 162:
=zobacz również=
zastosowanie peflags (
peflags --stack-reserve sbcl.exe
Linia 181 ⟶ 171:
sbcl.exe: stack reserve size : 16777216 (0x1000000) bytes
=Źródła=
<references/>
|