CLOS
CLOS ( anglicky Common Lisp Object System - “ Common Lisp 's object system ”, vyslovováno jako anglicky see-loss [1] ) je objektově orientovaný programovací systém , který je součástí Common Lisp – jazykového standardu Lisp . Navíc je zabudován do dalších dialektů jako EuLisp nebo Emacs Lisp [2] . Původně navržený jako doplněk, CLOS byl přijat jako součást standardu ANSI CommonLisp.
CLOS má následující funkce:
- Vícenásobné odeslání (to znamená, že metoda, která má být volána, je určena všemi argumenty, nejen prvním), neboli „ multimethods “.
- Metody proto nejsou definovány v rámci tříd. Koncepčně jsou seskupeny do „zobecněných funkcí“.
- CLOS neposkytuje žádné skrytí. Skrytí zajišťuje další část Common Lisp , balíčky.
- Dědičnost může způsobit, že metody nadtřídy budou kombinovány různými způsoby podle volby programátora, nejen jednoduchým přepsáním.
- CLOS je dynamický, to znamená, že za běhu programu se může měnit nejen obsah, ale i struktura objektů. CLOS podporuje změnu struktury třídy za běhu (i když instance dané třídy již existují), stejně jako změnu třídy dané instance pomocí metody CHANGE-CLASS.
- Vícenásobná dědičnost .
Většina implementací Common Lisp podporuje metaobjektový protokol popsaný v The Art of the Metaobject Protocol [3] , ale není zahrnut ve standardu.
Poznámky
- ↑ Petr Norvig. „Paradigmata programování umělé inteligence: Případové studie v Common Lisp“
- ↑ „CLOS je standard. Mnoho prodejců nabízí CLOS. CLOS (nebo jeho části) se používá k přidání objektově orientovaných funkcí do jiných dialektů Lisp, jako je EuLisp nebo Emacs Lisp." strana 110 Veitch
- ↑ Část knihy přímo popisující MetaObject Protocol Archivováno z originálu 21. ledna 2013.
Literatura
- Příručka programovacích jazyků (HPL), svazek 4: Funkční a logické programovací jazyky / Editor Peter H. Salus. - Macmillan Technical Publishing, 1998. - 250 s. — ISBN 1-57870-011-6 . , Jim Veitch, na CLOS, s. 107-158
Lisp obecný |
---|
Implementace |
|
---|
Software | Knihovny |
- CLSQL
- - HTTP
- CL-PPCRE
- CLX
- obrněný
- Symbolický web
- Neobvyklý web
- Webové zámky
- Hunchentoot
- AllegroCache
- ASDF
- CLiki
- CLIM
|
---|
Aplikace |
- Clfswm
- společná hudba
- Music
- Běžná hudební
- ICAD
- InspireData
- PrimeTrader
- Mirai
- Maxima
- openmusic
- PWGL
- Stumpwm
- SiteGrinder
- OÁZA
- autoprice
|
---|
Vývojová prostředí |
|
---|
|
---|
Publikace |
- the Language
- AI
- protokolu
- Na
- Praktický Common
- Objektově orientované programování v Common
|
---|
návrhová komise |
|
---|
jiný |
|
---|