www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/03/17/13:08:29

From: Michael Feldman <mfeldman AT seas DOT gwu DOT edu>
Subject: Re: Ada and djgpp
To: sands AT ihes DOT fr (Duncan Sands)
Date: Fri, 17 Mar 1995 10:10:08 -0500 (EST)
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu

> Mike, it's very good to hear that DOS GNAT may get tasking.  Is there any
> timetable for this?  By the way, may I just say what a great job you're
> doing in publicising GNAT:  you must be one of the people who's done
> the most in getting the word about Ada and GNAT out into the computing
> community.

There is no timetable. At least on the GNAT side of things, we are just
beginning to explore the issue. Charles Sandmann has suggested that we
coordinate with his djgpp v2 group, but that only happened this week.

RE: publicizing GNAT, etc. - I'm happy to provide what info I can to
djgpp readers, but OTOH I don;t want to overdo it. On the third hand,
djgpp is a _system_, not just a C compiler, so I figure discussing other
djgpp languages is fair game.:-)

I do think it important that the djgpp group stick to its main subject and
not get embroiled in language wars. There's quite enough of that on the net!
I promise to keep my stuff on Ada and GNAT "informational" and not 
"judgemental".

An interesting aspect of GNAT for djgpp-ers is that it connects very
smoothly to code wrtitten in C and C++. Indeed, there are some examples
of multi-language programming in the GNAT examples library. An especially
cute one is an Ada program that inherits from, and extends, a C++ class.

Ada (83 and 95) language definitions include "hooks" for importing
and exporting subprograms from/to other languages. So many very nice 
libraries have been ported to djgpp that I think it would be 
extremely useful to provide Ada-callable layers for them. GRX and
pdcurses and xview come to mind. 

Writing these "bindings", as they are usually called, is not very hard, 
especially if the C libraries to be "bound" have well-designed <*.h> 
interfaces with consistent use of function prototypes.  There is no 
performance hit - the Ada application is calling the C routines directly. 
The Ada "layer" is essentially just a description of the library facilities 
in Ada syntax, to make the calling sequences recognizable to the Ada
compiler. One can think of it as a kind of Ada-flavored <*.h> file.

The pdcurses stuff is very promising in this regard. I wish I had time to
convert the "tuidemo" myself.

Cheers -

Mike Feldman

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019