From: Matthew Heaney <matthew_heaney@acm.org>
Subject: Re: How to write TYPECASE in Ada 95?
Date: 1999/02/18
Date: 1999-02-18T00:00:00+00:00 [thread overview]
Message-ID: <m3emno55ab.fsf@mheaney.ni.net> (raw)
In-Reply-To: 36cbb8b3.35099816@news.pacbell.net
tmoran@bix.com (Tom Moran) writes:
> >If you want to extend a type with arbitrary behavior, you could take a
> >look at using the Visitor pattern. Ada implementations of this pattern
> >are available at the ACM patterns archive.
>
> ><http://www.acm.org/archives/patterns.html>
> Am I looking at the right place? I see
>
> >package body Equipment.Pricing is
>
>
> > function Get_Total_Price
> > (Equipment : Root_Equipment'Class) return Dollars is
> > begin
> > if Equipment in Floppy_Disk then
...
> which surely looks pretty similar to
>
> > procedure Serve_Fruit(Dish : in Fruit'class) is
> > begin
> > if Dish in Apple'class then Serve(Apple(Dish));
> > ...
> > elsif Dish in Watermelon'class then Serve(Watermelon(Dish));
Indeed, you are correct. The was the last of 3 versions of the visitor
pattern I sent to the list, and I discuss the pros and cons of each
approach in the accompanying text.
next prev parent reply other threads:[~1999-02-18 0:00 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-02-05 0:00 How to write TYPECASE in Ada 95? Norman Ramsey
1999-02-05 0:00 ` Brian Rogoff
1999-02-05 0:00 ` David C. Hoos, Sr.
1999-02-05 0:00 ` Brian Rogoff
1999-02-06 0:00 ` Ed Falis
1999-02-06 0:00 ` Nick Roberts
1999-02-06 0:00 ` Nick Roberts
1999-02-17 0:00 ` Tom Moran
1999-02-18 0:00 ` Matthew Heaney
1999-02-18 0:00 ` Tom Moran
1999-02-18 0:00 ` robert_dewar
1999-02-19 0:00 ` Nick Roberts
1999-02-19 0:00 ` Tom Moran
1999-02-18 0:00 ` Tom Moran
1999-02-18 0:00 ` Matthew Heaney [this message]
1999-02-19 0:00 ` Tom Moran
1999-02-19 0:00 ` Tom Moran
1999-02-23 0:00 ` Samuel Mize
1999-02-23 0:00 ` Question (was Re: How to write TYPECASE in Ada 95?) Mike Silva
1999-02-24 0:00 ` Samuel T. Harris
1999-02-24 0:00 ` Matthew Heaney
1999-02-24 0:00 ` Tucker Taft
1999-02-24 0:00 ` (long) programming by extension (was: " Samuel Mize
1999-02-24 0:00 ` (long) programming by extension Samuel Mize
1999-02-25 0:00 ` (shorter and new) " Samuel Mize
1999-02-25 0:00 ` Mike Silva
1999-02-26 0:00 ` Samuel Mize
1999-02-24 0:00 ` Question (was Re: How to write TYPECASE in Ada 95?) Nick Roberts
1999-02-06 0:00 ` How to write TYPECASE in Ada 95? David C. Hoos, Sr.
1999-02-06 0:00 ` Matthew Heaney
1999-02-06 0:00 ` Matthew Heaney
1999-02-06 0:00 ` Matthew Heaney
1999-02-09 0:00 ` David C. Hoos, Sr.
1999-02-06 0:00 ` Matthew Heaney
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox