Příchutě (programovací jazyk) - Flavors (programming language)
Příchutě,[1] brzy objektově orientovaný rozšíření na Lisp vyvinutý uživatelem Howard Cannon na Laboratoř umělé inteligence MIT pro Lisp stroj a jeho programovací jazyk Lisp stroj Lisp, byl prvním programovacím jazykem mixiny.[2] Symbolika použil pro své stroje Lisp a nakonec jej vyvinul Nové příchutě; původní i nové příchutě byly předávání zpráv OO modely. To mělo obrovský vliv na vývoj Společný systém objektů Lisp (ZAVŘENO).[3]
Implementace příchutí jsou k dispozici také pro Společný Lisp.[4]
Nové příchutě nahradily odesílání zpráv voláním generické funkce.
Nabídky příchutí :před
a :po
démoni s výchozí kombinací metod (tzv :démon
).
Porovnání příchutí a funkcí CLOS
Flavours nabízí několik funkcí, které CLOS nenalezl:
- Obaly
- Automatický lexikální přístup k slotům pomocí proměnných v rámci metod.
- Funkce vnitřních příchutí, makra a substráty.
- Automaticky generované konstruktory.
DEFFLAVOR
možnosti:: povinné metody
,: abstraktní příchuť
,:směs
.POSLAT
funkce pro odesílání zpráv.
CLOS nabízí následující funkce, které ve Flavours nenajdete:
- Multimetody
- Metody specializované na jednotlivé objekty (přes
EQL
). - Metody specializované na typy Common Lisp (symbol, integer, ...).
- Metody specializované na typy def-struct.
- Automaty třídy.
Terminologie
Příchutě | CLOS |
---|---|
příchuť | třída |
složková příchuť | nadtřída |
závislá chuť | podtřída |
příchuť místní složky | přímá nadtřída |
místní závislá příchuť | přímá podtřída |
obecná funkce | obecná funkce |
kombinovaná metoda | efektivní metoda |
možnost metody | kvalifikátor metody |
instance | instance |
proměnná instance | slot |
objednávání aromatických složek | seznam priorit tříd |
Reference
- ^ Howard Cannon, Příchutě: Nehierarchický přístup k objektově orientovanému programování, Symbolics Inc., 1982
- ^ str. 46, Thompson, C. W., Ross, K. M., Tennant, H. R. a Saenz, R. M. 1983. „Vytváření použitelných přirozených jazykových rozhraní založených na nabídkách do databází“. v Sborník příspěvků z 9. mezinárodní konference o velmi velkých databázích (31. října - 2. listopadu 1983). M. Schkolnick a C. Thanos, Eds. Velmi velké databáze. Morgan Kaufmann Publishers, San Francisco, CA, 43–55.
- ^ "Symbolika (1985) Nové příchutě (model pro odesílání zpráv, jako je dnes Java), používal Xerox CommonLoops, Lisp Machine Incorporated používal Objekt Lisp (Bobrow, 1986) a Hewlett Packard navrhované použití Společné objekty (Kempf, 1987). Skupiny mezi sebou soupeřily v kontextu úsilí o standardizaci, které v té době probíhalo pro Common Lisp, a nakonec se dohodly na standardu založeném na CommonLoops a New Flavours.
- ^ Příchutě pro Allegro CL
- „Historie a popis CLOS“, Jim Veitch. Stránky 107–158 z Příručka programovacích jazyků, svazek IV: Funkční a logické programovací jazyky, vyd. Peter H. Salus. 1998 (1. vydání), Macmillan Technical Publishing; ISBN 1-57870-011-6
Další čtení
- "Nové příchutě", David A. Moon, S Keene - Sborník ACM konf. Objektově orientované programování, Systems (ACM 1986 OOPSLA Conference), 1986
- "Objektově orientované programování s příchutí ", David A. Moon. Konference o jazycích a aplikacích objektově orientovaných programovacích systémů 1986, ISSN 0362-1340
- "Příchutě, technická zpráva", Laboratoř umělé inteligence MIT, Cambridge (Mass.), 1980
- Daniel Weinreb a David A. Moon, „Flavors: Message Passing in the Lisp Machine“, A.I. Memo No. 602, listopad 1980, MIT AI Lab