|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
|
[Clisp] Risorse
Sera a tutti,
Avete qualche risorsa da consigliarmi su Clisp? Grazie e buona serata Inviato dal mio Sony Xperia P
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Si', quel libro secondo me e' il piu' indicato per common lisp.
Ti consiglio di usare pero' qualcos'altro che non sia CLISP, meglio SBCL (sotto linux) o CCL sotto windows o mac. Ti consiglio poi di usare qualcosa di piu' intelligente del semplice prompt dei comandi (il che vuol dire, nel bene e soprattutto nel male, usare emacs+slime)
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
|
grazie per i consigli.
Sublime text non va bene per lisp, vero? Cmq è proprio un bel linguaggio
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Ah per iniziare puo'andare benissimo, ma ti consiglio di provare emacs e slime quanto prima. Ti permette di fare tutto quello che un editor moderno consente.
Indentazione, highlight, navigazione (vai alla definizione della funzione etc), e soprattutto terminale interattivo. Puoi modificare le funzioni al volo e caricarle su un programma in esecuzione (come l'edit e continue di visual studio, ma senza lo stop Lo sviluppo in lisp e' solitamente molto interattivo anche se forse non quanto con Smalltalk. Rinunciare alla parte interattiva vuol dire far molta piu' fatica. In caso posso darti una mano con la configurazione iniziale.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
|
scaricato slime, SBCL e installato.
Qualche dritta?
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
|
ho cominciato a dare un occhio a emacs+slime e lisp... interessante
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Il mio primo suggerimento e' quello di scaricare quicklisp.
e' un tool per scaricare, compilare e tenere aggiornati i pacchetti lisp (stile CPAN o ruby gems, anceh se con meno pacchetti) (# indica comando da shell, * indica comando lisp, le altre righe sono output) Codice:
# wget http://beta.quicklisp.org/quicklisp.lisp
# sbcl
* (load "quicklisp.lisp")
<blablabla>
* (quicklisp-quickstart:install)
<blablabla>
* (ql:add-to-init-file)
I will append the following lines to #P"/home/user/.sbclrc":
;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init #P"/home/user/quicklisp/setup.lisp"))
(when (probe-file quicklisp-init)
(load quicklisp-init)))
Press Enter to continue.
Codice:
* (ql:quickload :quicklisp-slime-helper) <blablablabla> Codice:
To use, add this to your ~/.emacs: (load (expand-file-name "/home/user/quicklisp/slime-helper.el")) ;; Replace "sbcl" with the path to your implementation (setq inferior-lisp-program "sbcl") Puoi fare partire slime con M-x slime (ovvero Alt-x e poi scrivi "slime" seguito da invio)
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
|
Grazie molte. Al momento il lisp e una mia volontà di ampliare le mie conoscenze ma lo trovo molto utile e divertente ^_^
Inviato dal mio Sony Xperia P
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
|
Quote:
P.S: (defun pari (x) (if (= (mod x 2) 0) (print "Pari") (print "Dispari"))) che eleganza
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go Ultima modifica di The_ouroboros : 10-04-2013 alle 10:41. |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Ah la vera eleganza cominci ad apprezzarla quando ti addentri nelle macro e scopri che riesci a modellare e semplificare il linguaggio per adattarlo al contesto.
Quello delle macro e' un mondo tutto a se da esplorare e nulla ha a che a vedere con gli aborti presenti in altri linguaggi. un esempio e' la sintassi per le query sql di cl-sql Codice:
(select [first-name] :from [employee] :flatp t :distinct t
:field-names nil
:result-types nil
:order-by [first-name])
Comunque va avanti con il libro che hai gia' trovato, vedrai che ti fara' implementare un po' di cose pratiche, come un framework per lo unit test, un parser di tag id3, un server shoutcast o un generatore di html...
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
|
Quote:
Molto entusiasmante e da matematico...direi interessante a livello simbolico
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:32.




















