Discussion:
[Lisp] Lisp på OS/X Intel
u33403408
2006-10-03 05:35:51 UTC
Permalink
Jag sammanfattade lite av mina erfarenheter om någon är intresserade,
dock är mina
kunskaper om LISP "basic" fast "advanced" när det gäller operativsystem

CLISP:
Fanns ingen binär så jag tog hem källkoden och kompilerade (GCC 4 var
kompilatorn)
Testade att installera CLISP på min maskin, men det var så mycket
extra den skulle ha
"Readline" var ett paket jag väntade mig men det var en hel del mera.

SBCL;
Testade SBCL som påstod ha ett binärpaket till min maskin, och nja
det var binär och allt
men med ett skript för installation som hade lite att önska
- Krävde root rättigheter (alltså mera än att ha ett konto med
admrättigheter)
- Programmet lades i en katalogstruktur som inte söks automatiskt
- Avinstallation finns inte med alls
- Backsteg och andra editeringsfunktioner finns inte, allt blir
konstiga tecken bara

LISPWORKS
Jag skall även testa LispWorks men eftersom jag håller det på
hobbynivå har jag inte
riktigt råd med en licens utan det blir gratisversionen som saknar en
hel del, fast för
att lära sig LISP kanske det kan vara en bra ide,

Frågor:
Läste om SBCL att man kan kompilera så man får en "standalone" dvs en
körbar fil
som man kan ge en kompis utan att han behöver installera SBCL (bra
med tanke på
att det inte är en nybörjargrej att installera)
Man talade om att man skall använda flaggan :executable t när man
kompilerar,
Jag testa att skriva ett program "hello.lisp"
Det går utmärkt att kompilera till fasl men inte standalone jag tror
att det är syntaxfel
fast jag hittar inte felet.

Någon som kan berätta för mig exakt hur jag skall skriva för att
kompilera programmet
"hello.lisp" till fristående i SBCL
(Gärna i andra lispversioner med, eftersom jag har börjat dokumentera
mina nybörjarsteg
och blir de bra lägger jag ut dem för att hjälpa andra som vill lära
sig lisp.

mvh
Anders
Henrik Hjelte
2006-10-03 07:25:50 UTC
Permalink
SBCL;
Testade SBCL som påstod ha ett binärpaket till min maskin, och nja det
var binär och allt
men med ett skript för installation som hade lite att önska
- Krävde root rättigheter (alltså mera än att ha ett konto med
admrättigheter)
- Programmet lades i en katalogstruktur som inte söks automatiskt
- Avinstallation finns inte med alls
- Backsteg och andra editeringsfunktioner finns inte, allt blir
konstiga tecken bara
Du ska inte använda SBCL eller CLISP direkt, istället ska du använda
Slime, som är en fantastisk utvecklingsmiljö för Lisp som är
implementerad i Emacs. Slime består av en klientdel som körs inuti
Emacs, som kommunicerar med en serverdel som körs i SBCL (eller CLISP
eller någon annan lisp). I Slime kan du inspektera Lisp objekt,
expandera makron, göra korsreferenser och hoppa kors och tvärs i koden.


Ett exempel: I en öppen fil i emacs skriver jag with-f och Tab.
Då dyker det upp ett litet fönster som gjort fuzzy-completion, där kan
jag välja vilken funktion jag ville ha.

Completion: Flags: Score:
---------------------- ------ --------
with-fixture -f--m- 53.55
with-open-file -f--m- 53.14
with-output-to-file -f--m- 52.66
with-input-from-file -f--m- 52.60
with-input-from-string -f--m- 46.71
without-prefix ------ 36.12

(Jag har ändrat så att min Tab knapp är kopplad till
slime-fuzzy-complete-symbol)

Är du inte övertygad finns det en Slime video att se som är gjord av
Marco Baringer, och han kör för övrigt på Mac OS X.
http://common-lisp.net/movies/slime.mov


/Henrik Hjelte
larryl
2006-10-03 19:44:39 UTC
Permalink
Post by u33403408
Jag sammanfattade lite av mina erfarenheter om någon är intresserade,
dock är mina
kunskaper om LISP "basic" fast "advanced" när det gäller operativsystem
Fanns ingen binär så jag tog hem källkoden och kompilerade (GCC 4 var
kompilatorn)
Testade att installera CLISP på min maskin, men det var så mycket
extra den skulle ha
"Readline" var ett paket jag väntade mig men det var en hel del mera.
SBCL;
Testade SBCL som påstod ha ett binärpaket till min maskin, och nja det
var binär och allt
men med ett skript för installation som hade lite att önska
- Krävde root rättigheter (alltså mera än att ha ett konto med
admrättigheter)
- Programmet lades i en katalogstruktur som inte söks automatiskt
- Avinstallation finns inte med alls
- Backsteg och andra editeringsfunktioner finns inte, allt blir
konstiga tecken bara
LISPWORKS
Jag skall även testa LispWorks men eftersom jag håller det på
hobbynivå har jag inte
riktigt råd med en licens utan det blir gratisversionen som saknar en
hel del, fast för
att lära sig LISP kanske det kan vara en bra ide,
Läste om SBCL att man kan kompilera så man får en "standalone" dvs en
körbar fil
som man kan ge en kompis utan att han behöver installera SBCL (bra med
tanke på
att det inte är en nybörjargrej att installera)
Man talade om att man skall använda flaggan :executable t när man
kompilerar,
Jag testa att skriva ett program "hello.lisp"
Det går utmärkt att kompilera till fasl men inte standalone jag tror
att det är syntaxfel
fast jag hittar inte felet.
Någon som kan berätta för mig exakt hur jag skall skriva för att
kompilera programmet
"hello.lisp" till fristående i SBCL
(Gärna i andra lispversioner med, eftersom jag har börjat dokumentera
mina nybörjarsteg
och blir de bra lägger jag ut dem för att hjälpa andra som vill lära
sig lisp.
mvh
Anders
------------------------------------------------------------------------
_______________________________________________
Lisp mailing list
http://mailman.nocrew.org/cgi-bin/mailman/listinfo/lisp
Kolla med sbcl om det går att installera med:
$ INSTALL_ROOT=/home/me sh install.sh
(har själv inte provat den funktionen).


Angående kompilera till exekvebara filer med sbcl.
clisp kan man ju scripta, genom att i unix allafall
starta första raden med "#!/usr/bin/clisp" exempelvis.
Detta är lite krångligare i sbcl, det går att lösa med några
rader kod i initieringsfilen .sbclrc, men det skapar andra
problem.

Istället har jag kompilerat ett litet lisp program som är
tänkt att användas i scriptning, detta är möjligt eftersom
lisp inkluderar compilatorn och osv.

Jag visar skriptet nedan, i detta skript använder jag även
funktionen att "dumpa" lisp imagen till en exekverbar fil.

Allmänt att dumpa exe filer med sbcl, när ditt exe program
har kört klart måste du returnera en integer, nedan ser du
hur jag returnerar noll.


; compile and install this as:
; $ sbcl < sbcls.lisp
; $ cp sbcls /usr/bin
;
; as a scripting tool its better to by default
; skip debugging hook and terminate instead.
(sb-ext:disable-debugger)

; When loading the script, we have '#!' that
; will treated as an undefined dispatch-macro,
; so lets define it.
; Now, the /usr/bin/sbcls will also be readed, and give error
; so lets read and forget the first line of the script.
(set-dispatch-macro-character #\# #\!
(lambda (stream bang number) (read-line stream nil nil)))

(defun sbcls-main ()
; this will load the script
(load (second sb-ext:*posix-argv*))
0)

(save-lisp-and-die "sbcls" :executable t :toplevel 'sbcls-main)
Henrik Hjelte
2006-10-25 13:47:45 UTC
Permalink
Dags att väcka upp den här tråden, det verkar som om OpenMCL nu fungerar
på OS/X Intel. Jag har ingen Mac själv, men har provat en beta av
OpenMCL på Linux och den fungerade mycket bra.

http://article.gmane.org/gmane.lisp.openmcl.devel/1535

/Henrik Hjelte
Johan Persson
2006-10-25 15:03:14 UTC
Permalink
Dags att vÀcka upp den hÀr tråden, det verkar som om OpenMCL nu fungerar
på OS/X Intel. Jag har ingen Mac sjÀlv, men har provat en beta av
OpenMCL på Linux och den fungerade mycket bra.
http://article.gmane.org/gmane.lisp.openmcl.devel/1535
/Henrik Hjelte
Verkar inte funka under 32-bitars OS X... Trist :/

Loading...