GNAT 6 experience report (very short)

John Marino has packaged GNAT 6 from FSF for FreeBSD and DragonFly.

I’ve installed FreeBSD with GNAT 6, and tried to see if there were any obvious differences to the older versions (I use GNAT 4.9 and 5 on Debian).

So far the result is that it is more picky about anonymous access types. (Maybe even too picky. I’m trying to figure that out.)

Here is an example:

GNAT 6.0.0 20151129 (snapshot) -=> GNAT AUX [FreeBSD64]
Copyright 1992-2015, Free Software Foundation, Inc.

Compiling: /usr/home/sparre/org.opentoken-6.0b/opentoken-production-parser-lalr-parser_lists.adb
Source file time stamp: 2015-12-10 10:32:39
Compiled at: 2015-12-24 13:56:17

   487.       return (Element => Position.Item'Access);
                                 |
        >>> access discriminant in return aggregate would be a dangling reference

 746 lines: 1 error
gnatmake: "/usr/home/sparre/org.opentoken-6.0b/opentoken-production-parser-lalr-parser_lists.adb" compilation error

The subroutine which causes the problem is:

   480     function Constant_Reference
   481       (Container : aliased in List'Class;
   482        Position  : in Parser_Node_Access)
   483       return Constant_Reference_Type
   484     is
   485        pragma Unreferenced (Container);
   486     begin
   487        return (Element => Position.Item'Access);
   488     end Constant_Reference;

Switching to 'Unrestricted_Access makes the compiler accept the function, but is it safe?

(Debian/experimental also has GNAT-6.)

Some Fast Ada Programming News

First lets start with the fact that it just got easier to build Ada packages for Debian. YAY!

Second it’s great to know that the Ada networking library, Anet, just hit version 0.1 – Get it while it’s hot.

Third you’ll be thrilled to know that the What would you like in Ada 202X? thread on comp.lang.ada has gone berserk! Fun read, if you have the time.

Fourth we get ZanyBlue, which is a project implementing a finite element based solution of the Maxwell field equations. En route to that goal, supporting libraries and applications are being implemented. Initial functionality covers localization support for Ada. ZanyBlue is now at version 1.0.0 BETA. Here’s the release announcement.

Finally Stephe Leake did the entire Ada 2005, 2012 (draft 17) reference manual in info format. Pretty awesome, if you ask me.

Ada in Debian Talk From FOSDEM (video)

With FOSDEM 2011 now over, those of us who weren’t able to attend can now enjoy some of the talks given as they make their way unto the ‘net.

Of specific interest to the Ada community is the talk given by Ludovic Brenta and Miguel Telleria de Esteban about Ada in Debian. The video and the slides are available:

I’m a Slackware user myself, but even then the talk was both interesting and educating. I’m really impressed by the immense work done to make Ada accessible to the Debian users. Maybe something similar could be done for Slackware? Might it be that I’ve just stumbled on a yet another project for my long TODO list?