From: Michael Feldman 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