Please wait, while we are loading the content...
Please wait, while we are loading the content...
| Content Provider | ACM Digital Library |
|---|---|
| Author | Raccoon, L. B. S. P., Puppydog P. O. |
| Abstract | In this paper, we describe and compare techniques that implement multiple downcasting in strongly-typed languages. We conclude that multimethods stand out as the single best technique. In the first section, we describe seven commonly used techniques. In the second section, we compare these seven techniques using ten criteria. And, in the third section, we comment on some additional techniques.Multiple downcasting occurs so often that developers use a variety of terms to describe it, and a variety of language constructs and patterns to implement it. "Feed the animals," "driver-vehicle," and "parallel hierarchies" are well-known examples that require multiple downcasting. "Multiple type dispatch" and "covariant subclassing" identify different facets of multiple downcasting. "Dynamic type casting," "typecase statements," and the "visitor pattern" are frequently used to implement multiple downcasting. We believe that multiple downcasting is not a mistake or the result of poor program design, rather multiple downcasting is a specific technique that implements a specific kind of application semantics.In the animal hierarchy shown in Figure 1, cows eat grass, wolves eat meat, and in the superclass, animals eat food. The generalization that animals eat food is imprecise: it ignores the facts that cows only eat grass and wolves only eat meat. So, how should developers write a function to safely "feed the animals" without getting the types mixed up? In Program 1, we show how a developer might like to "feed the animals" in C++. The feed_unsafely function may fail, while the feed_safely function works properly for all combinations of foods and animals. The animal hierarchy will not compile in C++, because the eat method is covariant.In this paper, we elaborate ideas and examples from A Middle-Out Concept of Hierarchy. We adapted the "feed the animals" example from Are Cows Animals? by Shang. |
| Starting Page | 69 |
| Ending Page | 75 |
| Page Count | 7 |
| File Format | |
| ISSN | 01635948 |
| DOI | 10.1145/311963.312008 |
| Journal | ACM SIGSOFT Software Engineering Notes (SOEN) |
| Volume Number | 24 |
| Issue Number | 3 |
| Language | English |
| Publisher | Association for Computing Machinery (ACM) |
| Publisher Date | 1979-04-01 |
| Publisher Place | New York |
| Access Restriction | One Nation One Subscription (ONOS) |
| Content Type | Text |
| Resource Type | Article |
National Digital Library of India (NDLI) is a virtual repository of learning resources which is not just a repository with search/browse facilities but provides a host of services for the learner community. It is sponsored and mentored by Ministry of Education, Government of India, through its National Mission on Education through Information and Communication Technology (NMEICT). Filtered and federated searching is employed to facilitate focused searching so that learners can find the right resource with least effort and in minimum time. NDLI provides user group-specific services such as Examination Preparatory for School and College students and job aspirants. Services for Researchers and general learners are also provided. NDLI is designed to hold content of any language and provides interface support for 10 most widely used Indian languages. It is built to provide support for all academic levels including researchers and life-long learners, all disciplines, all popular forms of access devices and differently-abled learners. It is designed to enable people to learn and prepare from best practices from all over the world and to facilitate researchers to perform inter-linked exploration from multiple sources. It is developed, operated and maintained from Indian Institute of Technology Kharagpur.
Learn more about this project from here.
NDLI is a conglomeration of freely available or institutionally contributed or donated or publisher managed contents. Almost all these contents are hosted and accessed from respective sources. The responsibility for authenticity, relevance, completeness, accuracy, reliability and suitability of these contents rests with the respective organization and NDLI has no responsibility or liability for these. Every effort is made to keep the NDLI portal up and running smoothly unless there are some unavoidable technical issues.
Ministry of Education, through its National Mission on Education through Information and Communication Technology (NMEICT), has sponsored and funded the National Digital Library of India (NDLI) project.
| Sl. | Authority | Responsibilities | Communication Details |
|---|---|---|---|
| 1 | Ministry of Education (GoI), Department of Higher Education |
Sanctioning Authority | https://www.education.gov.in/ict-initiatives |
| 2 | Indian Institute of Technology Kharagpur | Host Institute of the Project: The host institute of the project is responsible for providing infrastructure support and hosting the project | https://www.iitkgp.ac.in |
| 3 | National Digital Library of India Office, Indian Institute of Technology Kharagpur | The administrative and infrastructural headquarters of the project | Dr. B. Sutradhar bsutra@ndl.gov.in |
| 4 | Project PI / Joint PI | Principal Investigator and Joint Principal Investigators of the project |
Dr. B. Sutradhar bsutra@ndl.gov.in Prof. Saswat Chakrabarti will be added soon |
| 5 | Website/Portal (Helpdesk) | Queries regarding NDLI and its services | support@ndl.gov.in |
| 6 | Contents and Copyright Issues | Queries related to content curation and copyright issues | content@ndl.gov.in |
| 7 | National Digital Library of India Club (NDLI Club) | Queries related to NDLI Club formation, support, user awareness program, seminar/symposium, collaboration, social media, promotion, and outreach | clubsupport@ndl.gov.in |
| 8 | Digital Preservation Centre (DPC) | Assistance with digitizing and archiving copyright-free printed books | dpc@ndl.gov.in |
| 9 | IDR Setup or Support | Queries related to establishment and support of Institutional Digital Repository (IDR) and IDR workshops | idr@ndl.gov.in |
|
Loading...
|