LUKKET
CLOS ( engelsk Common Lisp Object System - " Common Lisp 's object system ", udtales som engelsk see-loss [1] ) er et objektorienteret programmeringssystem, der er en del af Common Lisp - Lisp sprogstandarden . Derudover er det indbygget i andre dialekter som EuLisp eller Emacs Lisp [2] . Oprindeligt foreslået som en tilføjelse, CLOS er blevet vedtaget som en del af ANSI CommonLisp-standarden.
CLOS har følgende funktioner:
- Multiple dispatch (det vil sige, metoden, der skal kaldes, bestemmes af alle argumenter, ikke kun den første), eller " multimethods ".
- Derfor er metoder ikke defineret inden for klasser. De er konceptuelt grupperet i "generaliserede funktioner".
- CLOS giver ingen skjul. Skjulning leveres af en anden del af Common Lisp , pakker.
- Nedarvning kan forårsage, at superklasse-metoder kombineres på en række forskellige måder efter programmørens valg, ikke kun simpel tilsidesættelse.
- CLOS er dynamisk, det vil sige, at ikke kun indholdet, men også strukturen af objekter kan ændre sig, mens programmet kører. CLOS understøtter ændring af strukturen af en klasse på farten (selvom instanser af den givne klasse allerede eksisterer), samt ændring af klassen af en given instans ved hjælp af CHANGE-CLASS metoden.
- Multipel arv .
De fleste implementeringer af Common Lisp understøtter metaobject-protokollen beskrevet i The Art of the Metaobject Protocol [3] , men er ikke inkluderet i standarden.
Noter
- ↑ Peter Norvig. "Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp"
- ↑ "CLOS er standarden. Mange leverandører tilbyder CLOS. CLOS (eller dele af det) bruges til at tilføje objektorienterede funktioner til andre Lisp-dialekter såsom EuLisp eller Emacs Lisp." side 110 Veitch
- ↑ En del af bogen, der direkte beskriver MetaObject Protocol Arkiveret fra originalen den 21. januar 2013.
Litteratur
- Handbook of Programming Languages (HPL), bind 4: Funktionelle og logiske programmeringssprog / Redaktør Peter H. Salus. - Macmillan Technical Publishing, 1998. - 250 s. — ISBN 1-57870-011-6 . , Jim Veitch, på CLOS, s. 107-158
Almindelig Lisp |
---|
Implementeringer |
|
---|
Software | Biblioteker |
- CLSQL
- -HTTP
- CL-PPCRE
- CLX
- jernbeklædt
- Symbolsk Web
- Usædvanligt web
- Weblocks
- Hunchentoot
- AllegroCache
- ASDF
- CLiki
- CLIM
|
---|
Ansøgninger |
- Clfswm
- almindelig musik
- musik
- Almindelig
- ICAD
- InspireData
- PrimeTrader
- Mirai
- Maxima
- openmusic
- PWGL
- Stumpwm
- SiteGrinder
- OASIS
- autopris
|
---|
Udviklingsmiljøer |
|
---|
|
---|
Publikationer |
- Sproget
- Paradigmer for AI-
- protokollens kunst
- På
- Praktisk almindelig
- Objektorienteret programmering i Common
|
---|
designudvalget |
|
---|
Andet |
|
---|