comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: ADA - VHDL
Date: 1996/07/11
Date: 1996-07-11T00:00:00+00:00	[thread overview]
Message-ID: <dewar.837092765@schonberg> (raw)
In-Reply-To: 31E2391F.A16BEBD@sh.bel.alcatel.be


Peter said

"I agree there are a lot of similarities between the languages, but I do
not understand the reason for many differences. There are things which
I can not do in VHDL which I can in ADA and for which I see no reason.
 some examples:
        type new Integer;
        generics;
        variant records"

These are all fundamental features of Ada that provide very important
expressive power (I don't know VHDL well enough to comment on how it
can manage without these critical features, or how one works around
the absence).

Probably the easiest way to understand these features is to read a book
like Barnes, although the original Ada 83 rationale is also a good souce
of information if you want to concentrate on the *why* rather than the *what*.

Very briefly:

  derived types allow separation of type spaces (new integer for example
  generates a type different from integer, so that the compiler can check
  improper operations like assigning a temperature to a distance.

  generics are a fundamental feature in any language. C++ at first lacked
  this capability, and it was added in the form of templates. There are
  many things that generics do, but most critically they allow type
  parametrization of reusable components.

  variant records are discriminanted unions, as found in say Pascal. Some
  kind of union facility is essential if you have recursive data structures
  (to end the recursion if it ends in a different type).






  parent reply	other threads:[~1996-07-11  0:00 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-07-09  0:00 ADA - VHDL P. Cnudde VH14 (8218)
1996-07-09  0:00 ` Jacques Rouillard
1996-07-10  0:00 ` Paul B. Graham
1996-07-10  0:00   ` Laurent Gasser
1996-07-11  0:00     ` P. Cnudde VH14 (8218)
1996-07-12  0:00       ` Paul B. Graham
1996-07-10  0:00   ` Robert Dewar
1996-07-11  0:00     ` Michael Feldman
1996-07-11  0:00 ` Robert Dewar [this message]
1996-07-15  0:00   ` Brian "Cheebie" Merchant
1996-07-16  0:00     ` Stephen A. Bailey
1996-07-16  0:00     ` P. Cnudde VH14 (8218)
1996-07-16  0:00     ` jos de laender vh14 7461
1996-07-22  0:00     ` Nick Weavers
1996-07-11  0:00 ` Jean-Marc Bourguet
1996-07-11  0:00 ` Jens Hansson
1996-07-12  0:00 ` Jean-Marc Bourguet
1996-07-13  0:00   ` Michael Feldman
1996-07-17  0:00 ` Chris Papademetrious
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox