C+++: User-Defined Operator Symbols in C++



Download 32,45 Kb.
Pdf ko'rish
bet7/7
Sana24.05.2023
Hajmi32,45 Kb.
#943285
1   2   3   4   5   6   7
Bog'liq
03 Heinlein

6. Conclusion
The paper has presented C+++, an extension of C++ allowing the programmer to define
new operator symbols with user-defined priorities. Even though the basic idea of this ap-
proach dates back to at least ALGOL 68 [BW79], it has not found widespread dissemi-
nation in mainstream imperative programming languages. Compared with Prolog and
modern functional languages, which support the concept in principle, the approach pre-
sented here offers a more flexible way to specify precedence relationships, the additional
concept of flexary operators (which is rather dispensable in these languages as their ef-
fect can be achieved in a similarly convenient manner with unary operators applied to list
literals), and the concept of lazily evaluated operands in an imperative language (which
is of course nothing special in functional languages). It might be interesting to note that
this latter concept has already been present in ALGOL 60 [Ru67], known as the (in)fa-
mous “call by name.” While this is indeed not well-suited as a general parameter passing
mechanism, the examples of Sec. 5 should have demonstrated that the basic principle is
useful when applied with care because it opens the door to implement user-defined con-
trol structures and thus might be considered a step towards generally extensible program-
ming languages.
References
[Ba96] J. G. P. Barnes: Programming in Ada 95. Addison-Wesley, Wokingham, England, 1996.
[BW79] D. F. Brailsford, A. N. Walker: Introductory ALGOL 68 Programming. Horwood, Chich-
ester, 1979.
[CM94] W. F. Clocksin, C. S. Mellish: Programming in Prolog (Fourth Edition). Springer-Verlag,
Berlin, 1994.
[GR89] A. Goldberg, D. Robson: Smalltalk-80. The Language. Addison-Wesley, Reading, MA,
1989.
[He04] C. Heinlein: Concept and Implementation of C+++, an Extension of C++ To Support Us-
er-Defined Operator Symbols. Nr. 2004-??, Ulmer Informatik-Berichte, Fakultät für Informatik,
Universität Ulm, (in preparation).
[MS99] J. Melton, A. R. Simon: SQL:1999. Understanding Relational Language Components.
Morgan Kaufmann Publishers, San Francisco, CA, 2002.
[Ru67] H. Rutishauser: Description of ALGOL 60 (Including the IFIP Reports on ALGOL).
Springer-Verlag, Berlin, 1967.
[St00] B. Stroustrup: The C++ Programming Language (Special Edition). Addison-Wesley,
Reading, MA, 2000.
[Th96] S. Thompson: Haskell. The Craft of Functional Programming. Addison-Wesley, Harlow,
England, 1996.
[Ul94] J. D. Ullman: Elements of ML Programming. Prentice-Hall, Englewood Cliffs, NJ, 1994.

Download 32,45 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish