CLOS
CLOS ( English Common Lisp Object System - „ Common Lisp 's object system ”, pronunțat în engleză see-loss [1] ) este un sistem de programare orientat pe obiecte care face parte din Common Lisp - standardul limbajului Lisp . În plus, este construit în alte dialecte precum EuLisp sau Emacs Lisp [2] . Propus inițial ca supliment, CLOS a fost adoptat ca parte a standardului ANSI CommonLisp.
CLOS are următoarele caracteristici:
- Trimiterea multiplă (adică metoda care trebuie apelată este determinată de toate argumentele, nu doar de primul), sau „ multimetode ”.
- Prin urmare, metodele nu sunt definite în cadrul claselor. Ele sunt grupate conceptual în „funcții generalizate”.
- CLOS nu oferă nicio ascundere. Ascunderea este oferită de o altă parte a pachetelor Common Lisp .
- Moștenirea poate face ca metodele superclase să fie combinate într-o varietate de moduri la alegerea programatorului, nu doar o simplă suprascriere.
- CLOS este dinamic, adică nu numai conținutul, ci și structura obiectelor se pot schimba în timp ce programul rulează. CLOS acceptă modificarea structurii unei clase din mers (chiar dacă există deja instanțe ale clasei date), precum și schimbarea clasei unei anumite instanțe folosind metoda CHANGE-CLASS.
- Moștenirea multiplă .
Majoritatea implementărilor Common Lisp acceptă protocolul metaobiect descris în Arta Protocolului Metaobject [3] , dar nu este inclus în standard.
Note
- ↑ Peter Norvig. „Paradigme ale programării inteligenței artificiale: studii de caz în lisp comun”
- ↑ „CLOS este standardul. Mulți vânzători oferă CLOS. CLOS (sau părți ale acestuia) este folosit pentru a adăuga caracteristici orientate pe obiecte altor dialecte Lisp, cum ar fi EuLisp sau Emacs Lisp." pag. 110 Veitch
- ↑ O parte a cărții care descrie direct Protocolul MetaObject Arhivat din original pe 21 ianuarie 2013.
Literatură
- Manual de limbaje de programare (HPL), Volumul 4: Limbaje de programare funcționale și logice / Editor Peter H. Salus. - Editura tehnică Macmillan, 1998. - 250 p. — ISBN 1-57870-011-6 . , Jim Veitch, despre CLOS, pp. 107-158
Lisp comun |
---|
Implementări |
|
---|
Software | Biblioteci |
- CLSQL
- -HTTP
- CL-PPCRE
- CLX
- de fier
- Web simbolic
- Web neobișnuit
- Weblock-uri
- Hunchentoot
- AllegroCache
- ASDF
- CLiki
- CLIM
|
---|
Aplicații |
- Clfswm
- muzica comuna
- Muzica
- muzicală comună
- ICAD
- InspireData
- PrimeTrader
- Mirai
- Maxima
- openmusic
- PWGL
- Stumpwm
- SiteGrinder
- OAZĂ
- autopreț
|
---|
Medii de dezvoltare |
|
---|
|
---|
Publicaţii |
- the Language
- Paradigme ale
- Arta protocolului
- Pe
- comun practic
- Programare orientată pe obiecte în Common
|
---|
comitetul de proiectare |
|
---|
Alte |
|
---|