Difference between revisions of "Publications/verna.08.els"
From LRDE
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Publication |
{{Publication |
||
− | | |
+ | | published = true |
+ | | date = 2009-03-31 |
||
| authors = Didier Verna |
| authors = Didier Verna |
||
| title = Binary Methods Programming: the CLOS Perspective |
| title = Binary Methods Programming: the CLOS Perspective |
||
Line 6: | Line 7: | ||
| pages = 91 to 105 |
| pages = 91 to 105 |
||
| address = Bordeaux, France |
| address = Bordeaux, France |
||
+ | | lrdeprojects = Climb |
||
− | | project = Software |
||
− | | urllrde = 200805-ELS |
||
| abstract = Implementing binary methods in traditional object-oriented languages is difficult: numerous problems arise regarding the relationship between types and classes in the context of inheritance, or the need for privileged access to the internal representation of objects. Most of these problems occur in the context of statically typed languages that lack multi-methods (polymorphism on multiple arguments). The purpose of this paper is twofold: first, we show why some of these problems are either non-issues, or easily solved in Common Lisp. Then, we demonstrate how the Common Lisp Object System (CLOS) allows us not only to implement binary methods in a straightforward way, but also to support the concept directly, and even enforce it at different levels (usage and implementation). |
| abstract = Implementing binary methods in traditional object-oriented languages is difficult: numerous problems arise regarding the relationship between types and classes in the context of inheritance, or the need for privileged access to the internal representation of objects. Most of these problems occur in the context of statically typed languages that lack multi-methods (polymorphism on multiple arguments). The purpose of this paper is twofold: first, we show why some of these problems are either non-issues, or easily solved in Common Lisp. Then, we demonstrate how the Common Lisp Object System (CLOS) allows us not only to implement binary methods in a straightforward way, but also to support the concept directly, and even enforce it at different levels (usage and implementation). |
||
| lrdepaper = http://www.lrde.epita.fr/dload/papers/verna.08.els.pdf |
| lrdepaper = http://www.lrde.epita.fr/dload/papers/verna.08.els.pdf |
||
| lrdekeywords = Software engineering |
| lrdekeywords = Software engineering |
||
+ | | lrdenewsdate = 2009-03-31 |
||
| type = inproceedings |
| type = inproceedings |
||
| id = verna.08.els |
| id = verna.08.els |
||
+ | | identifier = doi:10.5281/zenodo.3248977 |
||
| bibtex = |
| bibtex = |
||
@InProceedings<nowiki>{</nowiki> verna.08.els, |
@InProceedings<nowiki>{</nowiki> verna.08.els, |
||
Line 18: | Line 20: | ||
title = <nowiki>{</nowiki>Binary Methods Programming: the <nowiki>{</nowiki>CLOS<nowiki>}</nowiki> Perspective<nowiki>}</nowiki>, |
title = <nowiki>{</nowiki>Binary Methods Programming: the <nowiki>{</nowiki>CLOS<nowiki>}</nowiki> Perspective<nowiki>}</nowiki>, |
||
booktitle = <nowiki>{</nowiki>Proceedings of the First European Lisp Symposium<nowiki>}</nowiki>, |
booktitle = <nowiki>{</nowiki>Proceedings of the First European Lisp Symposium<nowiki>}</nowiki>, |
||
⚫ | |||
pages = <nowiki>{</nowiki>91--105<nowiki>}</nowiki>, |
pages = <nowiki>{</nowiki>91--105<nowiki>}</nowiki>, |
||
year = 2008, |
year = 2008, |
||
address = <nowiki>{</nowiki>Bordeaux, France<nowiki>}</nowiki>, |
address = <nowiki>{</nowiki>Bordeaux, France<nowiki>}</nowiki>, |
||
month = may, |
month = may, |
||
⚫ | |||
abstract = <nowiki>{</nowiki>Implementing binary methods in traditional object-oriented |
abstract = <nowiki>{</nowiki>Implementing binary methods in traditional object-oriented |
||
languages is difficult: numerous problems arise regarding |
languages is difficult: numerous problems arise regarding |
||
Line 36: | Line 38: | ||
binary methods in a straightforward way, but also to |
binary methods in a straightforward way, but also to |
||
support the concept directly, and even enforce it at |
support the concept directly, and even enforce it at |
||
− | different levels (usage and implementation).<nowiki>}</nowiki> |
+ | different levels (usage and implementation).<nowiki>}</nowiki> |
− | lrdekeywords = <nowiki>{</nowiki>Software engineering<nowiki>}</nowiki> |
||
<nowiki>}</nowiki> |
<nowiki>}</nowiki> |
||
Latest revision as of 16:51, 18 June 2019
- Authors
- Didier Verna
- Where
- Proceedings of the First European Lisp Symposium
- Place
- Bordeaux, France
- Type
- inproceedings
- Projects
- Climb
- Keywords
- Software engineering
- Date
- 2009-03-31
Abstract
Implementing binary methods in traditional object-oriented languages is difficult: numerous problems arise regarding the relationship between types and classes in the context of inheritance, or the need for privileged access to the internal representation of objects. Most of these problems occur in the context of statically typed languages that lack multi-methods (polymorphism on multiple arguments). The purpose of this paper is twofold: first, we show why some of these problems are either non-issues, or easily solved in Common Lisp. Then, we demonstrate how the Common Lisp Object System (CLOS) allows us not only to implement binary methods in a straightforward way, but also to support the concept directly, and even enforce it at different levels (usage and implementation).
Documents
Bibtex (lrde.bib)
@InProceedings{ verna.08.els, author = {Didier Verna}, title = {Binary Methods Programming: the {CLOS} Perspective}, booktitle = {Proceedings of the First European Lisp Symposium}, doi = {10.5281/zenodo.3248977}, pages = {91--105}, year = 2008, address = {Bordeaux, France}, month = may, abstract = {Implementing binary methods in traditional object-oriented languages is difficult: numerous problems arise regarding the relationship between types and classes in the context of inheritance, or the need for privileged access to the internal representation of objects. Most of these problems occur in the context of statically typed languages that lack multi-methods (polymorphism on multiple arguments). The purpose of this paper is twofold: first, we show why some of these problems are either non-issues, or easily solved in Common Lisp. Then, we demonstrate how the Common Lisp Object System (CLOS) allows us not only to implement binary methods in a straightforward way, but also to support the concept directly, and even enforce it at different levels (usage and implementation).} }