comp.lang.ada
 help / color / mirror / Atom feed
* Newcomers to comp.lang.ada: welcome and how did you end up here ?
@ 2014-10-06 22:42 Simon Clubley
  2014-10-06 23:18 ` brbarkstrom
                   ` (7 more replies)
  0 siblings, 8 replies; 75+ messages in thread
From: Simon Clubley @ 2014-10-06 22:42 UTC (permalink / raw)


In recent weeks/months, there's been an influx of newcomers to
comp.lang.ada.

First, welcome to the world of Ada. I hope you find the language
interesting and useful.

Second, how did you end up here ? :-)

The reason for asking is I'm wondering if there are some new Ada related
activities online which have grabbed the attention of people and made
them interested in learning Ada.

There's historically been a major problem with promoting Ada and I'm
now wondering if someone has succeeded in promoting Ada and we don't
even know about it. :-)

Thanks,

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-06 22:42 Newcomers to comp.lang.ada: welcome and how did you end up here ? Simon Clubley
@ 2014-10-06 23:18 ` brbarkstrom
  2014-10-07  8:10 ` Gour
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 75+ messages in thread
From: brbarkstrom @ 2014-10-06 23:18 UTC (permalink / raw)


On Monday, October 6, 2014 6:42:15 PM UTC-4, Simon Clubley wrote:
> In recent weeks/months, there's been an influx of newcomers to
> 
> comp.lang.ada.
> 
> 
> 
> First, welcome to the world of Ada. I hope you find the language
> 
> interesting and useful.
> 
> 
> 
> Second, how did you end up here ? :-)
> 
> 
> 
> The reason for asking is I'm wondering if there are some new Ada related
> 
> activities online which have grabbed the attention of people and made
> 
> them interested in learning Ada.
> 
> 
> 
> There's historically been a major problem with promoting Ada and I'm
> 
> now wondering if someone has succeeded in promoting Ada and we don't
> 
> even know about it. :-)
> 
> 
> 
> Thanks,
> 
> 
> 
> Simon.
> 
> 
> 
> -- 
> 
> Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
> 
> Microsoft: Bringing you 1980s technology to a 21st century world

I have used Ada for something like 20 years, but haven't usually
been communicative about what I've done.  I've got a background in
Astronomy, large science team leadership on NASA big science projects,
data preservation, and related issues.  In this case, I needed to have
a backup system for a Windows XP system on which I do most of my work
and decided to renew an acquaintance with Unix (via Linux).  I've got
at least one paper published in a SIGADA conference (St. Petersburg, 2009 if
I remember correctly).  That dealt with design of multi-agent software.
I've also had a paper in Earth Science Informatics relating to provenance
(production history) tracking that embedded snippets of Ada as pseudocode.
I sent out my notice that I've gotten the AdaCore GNAT GPL software to
install and operate - apparently correctly - including the gps with graphics.
I'm not sure I've gotten up promotional interest, but I'd be interested in
starting a FOSS development group that promotes "citizen science", replication
of data archives (to make it more likely that we'll preserve scientific data),
and using Ada as an educational tool.  I've even gotten my own Intel Atom
barebones system on which I'm hoping to install Ubuntu, AdaCore GNAT GPL,
and probably both AWS and PolyOrb to create standalone Linux Beowulf clusters
that can engage in federated archive activities.  I've also published a poster
paper in a conference called "Concept Lattices and Their Applications 2013"
and another at a conference called WMSCI that were describing a new approach
to designing search engines to use a cooperative agent game approach that uses
navigation in a data archive's structure to engage in a dialog between a user
and the search engine.  It's kind of the archive knows what's in its 
collections; the user knows when a response from the archive satisfies his or
her information need.  They navigate through links the search engine provides
that give hints about what it perceives as potentially useful to the user.
I won't bother with the math here - but there's some interesting stuff - 
including how to deal with concurrent threads of activities.  If you're
interested, you probably need Burns and Welling's book on Concurrent programming
and the book by McCormick, Singhoff, and Hugues on Building Parallel, Embedded,
and Real-Time Applications with Ada (Cambridge University Press, 2011).
Hugues recommended I send out a note to this site.

Bruce B.


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-06 22:42 Newcomers to comp.lang.ada: welcome and how did you end up here ? Simon Clubley
  2014-10-06 23:18 ` brbarkstrom
@ 2014-10-07  8:10 ` Gour
  2014-10-07 10:49   ` Luke A. Guest
  2014-10-07 20:06 ` Stribor40
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 75+ messages in thread
From: Gour @ 2014-10-07  8:10 UTC (permalink / raw)


On Mon, 6 Oct 2014 22:42:13 +0000 (UTC)
Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:

> Second, how did you end up here ? :-)

In my case, I was already posting here two years ago after spending some
time in #ada where I got lot of useful and friendly advices.

I was looking for an adeqaute language to do my hobby project -
multi-platform desktop app.

However, due to several reasons I was sidetracked and lured into
evaluating some other languages and, moreover, due to life's
cirumstances, didn't have time to work/plan my project.

Recently I've come in contact with Go after being attracted for some
static site generator written in it, but after some deliberation I
decided that it might be fine for my web needs, but not very suitable
for the desktop project.

The first natural step, after being disappointed with my discoveries
with 'modern' languages was to visit #ada again.

One of the things which re-inspired me to do my project in Ada is that
there are still people believing that it's not required that all our
apps should run within browser and/or written by some JS-related crap.

I've decided that even if GtkAda is the only option for writing GUI app
with Ada, it still looks better than offerings in other languages. (I
must admit that havign wxAda would be even better.)

Let me also mention Gnoga project and David's enthusiasm to bring
GUI development with Ada to application's devolopers without JS bagagge.

Now I'm here, learning Ada on my Debian (Sid) box using FSF GNAT and
hope to stay. ;)

Last but not the least, I'm the one who likes to have and buy books in
paper, so seeing Barnes' PIA-2012 is encouraging.


Sincerely,
Gour

-- 
A person who is not disturbed by the incessant flow of 
desires — that enter like rivers into the ocean, which is 
ever being filled but is always still — can alone achieve 
peace, and not the man who strives to satisfy such desires.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-07  8:10 ` Gour
@ 2014-10-07 10:49   ` Luke A. Guest
  2014-10-08  7:23     ` Gour
  0 siblings, 1 reply; 75+ messages in thread
From: Luke A. Guest @ 2014-10-07 10:49 UTC (permalink / raw)


Gour <gour@atmarama.net> wrote:
> On Mon, 6 Oct 2014 22:42:13 +0000 (UTC)

> I've decided that even if GtkAda is the only option for writing GUI app
> with Ada, it still looks better than offerings in other languages. (I
> must admit that havign wxAda would be even better.)

Yeah hint taken. It's on the back burner but I do intend to get back to it
after my new site is going.


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-06 22:42 Newcomers to comp.lang.ada: welcome and how did you end up here ? Simon Clubley
  2014-10-06 23:18 ` brbarkstrom
  2014-10-07  8:10 ` Gour
@ 2014-10-07 20:06 ` Stribor40
  2014-10-07 20:21   ` Jeffrey Carter
  2014-10-08  7:08   ` Dmitry A. Kazakov
  2014-10-09 11:58 ` Mark Carroll
                   ` (4 subsequent siblings)
  7 siblings, 2 replies; 75+ messages in thread
From: Stribor40 @ 2014-10-07 20:06 UTC (permalink / raw)


On Monday, 6 October 2014 18:42:15 UTC-4, Simon Clubley  wrote:
> In recent weeks/months, there's been an influx of newcomers to
> 
> comp.lang.ada.
> 
> 
> 
> First, welcome to the world of Ada. I hope you find the language
> 
> interesting and useful.
> 
> 
> 
> Second, how did you end up here ? :-)
> 
> 
> 
> The reason for asking is I'm wondering if there are some new Ada related
> 
> activities online which have grabbed the attention of people and made
> 
> them interested in learning Ada.
> 
> 
> 
> There's historically been a major problem with promoting Ada and I'm
> 
> now wondering if someone has succeeded in promoting Ada and we don't
> 
> even know about it. :-)
> 
> 
> 
> Thanks,
> 
> 
> 
> Simon.
> 
> 
> 
> -- 
> 

> 
> Microsoft: Bringing you 1980s technology to a 21st century world

I am familiar with programming and i am totally new to Ada and since my job is not programmer job i am trying to learn new things and therefore Ada came to mind because i heard about it. I find it quite challenging and even some simple things i could do in php ada compiler would scream about it. This group has been very help full as well. I read different things and tutorials about ada but usually when i am really stuck or need advice i would come to this group which has been great.


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-07 20:06 ` Stribor40
@ 2014-10-07 20:21   ` Jeffrey Carter
  2014-10-07 21:28     ` David Botton
  2014-10-10  0:58     ` rriehle
  2014-10-08  7:08   ` Dmitry A. Kazakov
  1 sibling, 2 replies; 75+ messages in thread
From: Jeffrey Carter @ 2014-10-07 20:21 UTC (permalink / raw)


On 10/07/2014 01:06 PM, Stribor40 wrote:
> 
> I am familiar with programming and i am totally new to Ada ...

If you're familiar with programming, I'd recommend you read "Ada Distilled":

http://www.adaic.org/wp-content/uploads/2010/05/Ada-Distilled-24-January-2011-Ada-2005-Version.pdf

There are a lot of good resources for the newcomer at

http://www.adaic.org/learn/materials/

-- 
Jeff Carter
"C++ is like jamming a helicopter inside a Miata
and expecting some sort of improvement."
Drew Olbrich
51


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-07 20:21   ` Jeffrey Carter
@ 2014-10-07 21:28     ` David Botton
  2014-10-09  5:57       ` Dirk Craeynest
  2014-10-10  0:58     ` rriehle
  1 sibling, 1 reply; 75+ messages in thread
From: David Botton @ 2014-10-07 21:28 UTC (permalink / raw)


> http://www.adaic.org/wp-content/uploads/2010/05/Ada-Distilled-24-January-2011-Ada-2005-Version.pdf

Fantastic read and people should know the 2005 version does include some 2012 features.

I hope Richard updates again. Anyone have contact info for him?

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-07 20:06 ` Stribor40
  2014-10-07 20:21   ` Jeffrey Carter
@ 2014-10-08  7:08   ` Dmitry A. Kazakov
  1 sibling, 0 replies; 75+ messages in thread
From: Dmitry A. Kazakov @ 2014-10-08  7:08 UTC (permalink / raw)


On Tue, 7 Oct 2014 13:06:10 -0700 (PDT), Stribor40 wrote:

> I find it quite challenging and even some simple things i could do in php
> ada compiler would scream about it.

Which is the idea of a safe language. Simple things and thoughts usually
are wrong ones.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-07 10:49   ` Luke A. Guest
@ 2014-10-08  7:23     ` Gour
  2014-10-08  8:35       ` Brian Drummond
                         ` (2 more replies)
  0 siblings, 3 replies; 75+ messages in thread
From: Gour @ 2014-10-08  7:23 UTC (permalink / raw)


On Tue, 7 Oct 2014 10:49:10 +0000 (UTC)
Luke A. Guest <laguest@archeia.com> wrote:

> Yeah hint taken. It's on the back burner but I do intend to get back
> to it after my new site is going.

Fine, I hope your site's progress is going well. ;)

Just curious, in general, how much does '-fdump-ada-spec' help when
generating (thin) C++ bindings?


Sincerely,
Gour



-- 
Whatever action a great man performs, common men follow. And 
whatever standards he sets by exemplary acts, all the world pursues.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-08  7:23     ` Gour
@ 2014-10-08  8:35       ` Brian Drummond
  2014-10-08  9:15         ` Simon Wright
  2014-10-08  9:17         ` Newcomers to comp.lang.ada: welcome and how did you end up here ? Gour
  2014-10-08 11:23       ` Dmitry A. Kazakov
  2014-10-08 13:33       ` Luke A. Guest
  2 siblings, 2 replies; 75+ messages in thread
From: Brian Drummond @ 2014-10-08  8:35 UTC (permalink / raw)


On Wed, 08 Oct 2014 09:23:18 +0200, Gour wrote:

> On Tue, 7 Oct 2014 10:49:10 +0000 (UTC)
> Luke A. Guest <laguest@archeia.com> wrote:
> 
>> Yeah hint taken. It's on the back burner but I do intend to get back to
>> it after my new site is going.
> 
> Fine, I hope your site's progress is going well. ;)
> 
> Just curious, in general, how much does '-fdump-ada-spec' help when
> generating (thin) C++ bindings?

My own gut feel on a couple of projects : it probably does 80-90% of the 
work, depending on the C/C++ styles involved.

One hardware interface library in C (to the Aardvark I2C/SPI USB 
interface from totalphase.com ) used a lot of macros for defining 
constants. These were untranslated, appearing as comments in the Ada 
package (apparently because they were untyped numbers). 

I copied them into a separate package, "aardvark_constants" alongside  
the autogenrcated "aardvark_h", uncommented and declared the half dozen 
or so constants I needed, leaving the rest as comments against future use.

It would have been a mistake to do this in the autogenerated file because 
you couldn't autogenerate it anew...


On a C++ project several years ago I found it made a poor job of 
processing C++ templates - perhaps not surprisingly - and the result 
needed about 20% rewritten by hand. This may have improved since, but I 
wouldn't be surprised if there are still problems in there.


Incidentally '-fdump-ada-spec-slim' often does a better job rather than 
polluting your project with the full transitive closure of the C 
namespace... '-fdump-ada-spec' merely reveals how awful the #include 
mechanism really can get.

-- Brian


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-08  8:35       ` Brian Drummond
@ 2014-10-08  9:15         ` Simon Wright
  2014-10-08 19:14           ` -fdump-ada-spec (was: Newcomers to comp.lang.ada: welcome and how did you end up here ?) Ludovic Brenta
  2014-10-08  9:17         ` Newcomers to comp.lang.ada: welcome and how did you end up here ? Gour
  1 sibling, 1 reply; 75+ messages in thread
From: Simon Wright @ 2014-10-08  9:15 UTC (permalink / raw)


Brian Drummond <brian3@shapes.demon.co.uk> writes:

> One hardware interface library in C (to the Aardvark I2C/SPI USB
> interface from totalphase.com ) used a lot of macros for defining
> constants. These were untranslated, appearing as comments in the Ada
> package (apparently because they were untyped numbers).

Apparently one should use g++ rather than gcc, because it makes a better
job of it.

GNAT GPL 2014 does translate (some) macros; it doesn't always get it
right, eg

   #define M_SQRT2     1.41421356237309504880168872420969808   /* sqrt(2)        */
   #define M_SQRT1_2   0.707106781186547524400844362104849039  /* 1/sqrt(2)      */
   #define MAXFLOAT    0x1.fffffep+127f

   // have to have _something_ besides the constants or no .ads gets
   // generated.
   extern float sinf(float);

turns into

   pragma Ada_2005;
   pragma Style_Checks (Off);

   with Interfaces.C; use Interfaces.C;

   package math_h is


      M_SQRT2 : constant := 1.41421356237309504880168872420969808;  --  ./math.h:1
      M_SQRT1_2 : constant := 8#.707106781186547524400844362104849039#;  --  ./math.h:2
      MAXFLOAT : constant := 16#1.fffffep+127f#;  --  ./math.h:3

      function sinf (arg1 : float) return float;  -- ./math.h:7
      pragma Import (CPP, sinf, "_Z4sinff");

   end math_h;

And I should have written

   extern "C" {
     extern float sinf(float);
   }

which would have produced

   function sinf (arg1 : float) return float;  -- math.h:8
   pragma Import (C, sinf, "sinf");


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-08  8:35       ` Brian Drummond
  2014-10-08  9:15         ` Simon Wright
@ 2014-10-08  9:17         ` Gour
  1 sibling, 0 replies; 75+ messages in thread
From: Gour @ 2014-10-08  9:17 UTC (permalink / raw)


On Wed, 08 Oct 2014 08:35:56 GMT
Brian Drummond <brian3@shapes.demon.co.uk> wrote:

> My own gut feel on a couple of projects : it probably does 80-90% of
> the work, depending on the C/C++ styles involved.

That's good.

> On a C++ project several years ago I found it made a poor job of 
> processing C++ templates - perhaps not surprisingly - and the result 
> needed about 20% rewritten by hand. This may have improved since, but
> I wouldn't be surprised if there are still problems in there.

Well, I mostly asked if it can help with the task as wxAda which is on
Luke's table. :-)

> Incidentally '-fdump-ada-spec-slim' often does a better job rather
> than polluting your project with the full transitive closure of the C 
> namespace... '-fdump-ada-spec' merely reveals how awful the #include 
> mechanism really can get.

Thank you for that. I also have need to bind 3rd party C lib.


Sincerely,
Gour

-- 
He who is regulated in his habits of eating, sleeping, recreation 
and work can mitigate all material pains by practicing the yoga system.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-08  7:23     ` Gour
  2014-10-08  8:35       ` Brian Drummond
@ 2014-10-08 11:23       ` Dmitry A. Kazakov
  2014-10-10  9:18         ` Gour
  2014-10-08 13:33       ` Luke A. Guest
  2 siblings, 1 reply; 75+ messages in thread
From: Dmitry A. Kazakov @ 2014-10-08 11:23 UTC (permalink / raw)


On Wed, 8 Oct 2014 09:23:18 +0200, Gour wrote:

> Just curious, in general, how much does '-fdump-ada-spec' help when
> generating (thin) C++ bindings?

I would say, less than expected. Last time I evaluated it (some months ago)
I decided to make C wrappers instead and deal rather with them. 

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-08  7:23     ` Gour
  2014-10-08  8:35       ` Brian Drummond
  2014-10-08 11:23       ` Dmitry A. Kazakov
@ 2014-10-08 13:33       ` Luke A. Guest
  2 siblings, 0 replies; 75+ messages in thread
From: Luke A. Guest @ 2014-10-08 13:33 UTC (permalink / raw)


Gour <gour@atmarama.net> wrote:
> On Tue, 7 Oct 2014 10:49:10 +0000 (UTC)
> Luke A. Guest <laguest@archeia.com> wrote:
> 
>> Yeah hint taken. It's on the back burner but I do intend to get back
>> to it after my new site is going.
> 
> Fine, I hope your site's progress is going well. ;)

Not yet, them plating is a pain even with a framework.

> Just curious, in general, how much does '-fdump-ada-spec' help when
> generating (thin) C++ bindings?

Using the slim option is better because the one above generates multiple
bindings to the same objects. This is the problem with includes.

The next version will be generated using wx interface files.


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: -fdump-ada-spec (was: Newcomers to comp.lang.ada: welcome and how did you end up here ?)
  2014-10-08  9:15         ` Simon Wright
@ 2014-10-08 19:14           ` Ludovic Brenta
  2014-10-08 19:48             ` -fdump-ada-spec Simon Wright
  0 siblings, 1 reply; 75+ messages in thread
From: Ludovic Brenta @ 2014-10-08 19:14 UTC (permalink / raw)


> Apparently one should use g++ rather than gcc, because it makes a better
> job of it.
>
> GNAT GPL 2014 does translate (some) macros; it doesn't always get it
> right, eg
>
>    #define M_SQRT2     1.41421356237309504880168872420969808   /* sqrt(2)        */
>    #define M_SQRT1_2   0.707106781186547524400844362104849039  /* 1/sqrt(2)      */
>    #define MAXFLOAT    0x1.fffffep+127f
>
>    // have to have _something_ besides the constants or no .ads gets
>    // generated.
>    extern float sinf(float);
>
> turns into
>
>    pragma Ada_2005;
>    pragma Style_Checks (Off);
>
>    with Interfaces.C; use Interfaces.C;
>
>    package math_h is
>
>
>       M_SQRT2 : constant := 1.41421356237309504880168872420969808;  --  ./math.h:1
>       M_SQRT1_2 : constant := 8#.707106781186547524400844362104849039#;  --  ./math.h:2
                                ^^                                     ^

Isn't that a blatant bug?  Either in the Ada or in the C source?

-- 
Ludovic Brenta.


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: -fdump-ada-spec
  2014-10-08 19:14           ` -fdump-ada-spec (was: Newcomers to comp.lang.ada: welcome and how did you end up here ?) Ludovic Brenta
@ 2014-10-08 19:48             ` Simon Wright
  0 siblings, 0 replies; 75+ messages in thread
From: Simon Wright @ 2014-10-08 19:48 UTC (permalink / raw)


Ludovic Brenta <ludovic@ludovic-brenta.org> writes:

>> Apparently one should use g++ rather than gcc, because it makes a better
>> job of it.
>>
>> GNAT GPL 2014 does translate (some) macros; it doesn't always get it
>> right, eg
>>
>>    #define M_SQRT2     1.41421356237309504880168872420969808   /* sqrt(2)        */
>>    #define M_SQRT1_2   0.707106781186547524400844362104849039  /* 1/sqrt(2)      */
>>    #define MAXFLOAT    0x1.fffffep+127f
>>
>>    // have to have _something_ besides the constants or no .ads gets
>>    // generated.
>>    extern float sinf(float);
>>
>> turns into
>>
>>    pragma Ada_2005;
>>    pragma Style_Checks (Off);
>>
>>    with Interfaces.C; use Interfaces.C;
>>
>>    package math_h is
>>
>>
>>       M_SQRT2 : constant := 1.41421356237309504880168872420969808;  --  ./math.h:1
>>       M_SQRT1_2 : constant := 8#.707106781186547524400844362104849039#;  --  ./math.h:2
>                                 ^^                                     ^
>
> Isn't that a blatant bug?  Either in the Ada or in the C source?

Yes; like I said, it doesn't always get it right.

And it doesn't understand hex floats either: 16#1.fffffep+127f# is *not*
a good translation of 0x1.fffffep+127f !

I have reported these problems to AdaCore, but as they have always said
the translation isn't expected to be perfect, so it'll be very low on
their priority list.


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-07 21:28     ` David Botton
@ 2014-10-09  5:57       ` Dirk Craeynest
  0 siblings, 0 replies; 75+ messages in thread
From: Dirk Craeynest @ 2014-10-09  5:57 UTC (permalink / raw)


In article <daf36914-73f2-4a4d-a487-e431893886f0@googlegroups.com>,
David Botton  <david@botton.com> wrote:
>http://www.adaic.org/wp-content/uploads/2010/05/Ada-Distilled-24-January-2011-Ada-2005-Version.pdf
[...]
>I hope Richard updates again. Anyone have contact info for him?

Earlier this year, Richard posted the following in this newsgroup:

-------
Newsgroups: comp.lang.ada
Date: Thu, 20 Feb 2014 12:59:17 -0800 (PST)
Subject: Re: Best book to learn ada? assuming openbsd 5.4 amd64 box here
From: rriehle@itu.edu

[...]

Reminder.  My book, Ada Distilled, is available on-line.  It is
designed to help someone who already can program in another language
learn how to program in Ada.

All the examples are fully coded. They will compile.  They will
execute.  It is not completely ready for Ada 2012, but Ed Colbert is
working on updating it for the new 2012 standard.

You can download Ada Distilled free from several sits.

Richard Riehle
-------

I contacted Richard yesterday, and he confirmed Ed and he will be
discussing some of the plans for a future update this very week.
So stay tuned...

HTH

Dirk
Dirk.Craeynest@cs.kuleuven.be (for Ada-Belgium/Ada-Europe/SIGAda/WG9)

*** 20th Intl.Conf.on Reliable Software Technologies - Ada-Europe'2015
*** June 22-26, 2015 **** Madrid, Spain **** http://www.ada-europe.org

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-06 22:42 Newcomers to comp.lang.ada: welcome and how did you end up here ? Simon Clubley
                   ` (2 preceding siblings ...)
  2014-10-07 20:06 ` Stribor40
@ 2014-10-09 11:58 ` Mark Carroll
  2014-10-09 13:31   ` Simon Wright
                     ` (2 more replies)
  2014-10-09 12:50 ` john
                   ` (3 subsequent siblings)
  7 siblings, 3 replies; 75+ messages in thread
From: Mark Carroll @ 2014-10-09 11:58 UTC (permalink / raw)


Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> writes:

> There's historically been a major problem with promoting Ada and I'm
> now wondering if someone has succeeded in promoting Ada and we don't
> even know about it. :-)

I have probably been somewhat aware of Ada through having been
previously been involved in software for the US DoD and also because it
was used in a course (on concurrency, perhaps?) that I attended at The
Ohio State University. I also found it encouraging that in recent years
there have been further standardization efforts and new books in print.
There hasn't been any recent stimulus though apart from the "internal"
one that I finished up with some of my Erlang learning and wanted to
look at where Ada might be a better choice. (At work, like many other
people, I am mostly stuck with using Java.)

Ada does look good but, as far as I can tell, if I ever want to use it
for any software not to be distributed under the GPL, I'm faced with
dealing with a subscription model (with goodness knows what guarantees
of ongoing affordability) negotiated with a private corporation, so
personally I'll probably actually not invest any more time into learning
about Ada and disappear from here and use something else for my
projects. I wish you guys all the best though: I am glad to have dropped
in and seen that your community is even more alive and well than I'd
guessed, so you're clearly quite attractive for some!

-- Mark


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-06 22:42 Newcomers to comp.lang.ada: welcome and how did you end up here ? Simon Clubley
                   ` (3 preceding siblings ...)
  2014-10-09 11:58 ` Mark Carroll
@ 2014-10-09 12:50 ` john
  2014-10-09 21:08 ` gdotone
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 75+ messages in thread
From: john @ 2014-10-09 12:50 UTC (permalink / raw)


I've been learning and using Ada for about 3 years but only post very sporadically, because I don't have many questions. I have 25+ of programming experience - always as a hobby, though (and some shareware).

The reason I turned to Ada was that I needed a fast language but C and C++ are too error-prone for my style of programming. Moreover, I only have limited time, making small changes here and there with long breaks in between, and Ada's self-documenting nature fits very well with that. 

When I don't need so much speed I'm mostly using Racket, though.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-09 11:58 ` Mark Carroll
@ 2014-10-09 13:31   ` Simon Wright
  2014-10-09 18:04     ` Brian Drummond
  2014-10-09 18:35     ` Mark Carroll
  2014-10-09 19:06   ` Shark8
  2014-11-04 16:28   ` Nicholas Collin Paul de Gloucester
  2 siblings, 2 replies; 75+ messages in thread
From: Simon Wright @ 2014-10-09 13:31 UTC (permalink / raw)


Mark Carroll <mtbc@bcs.org> writes:

> Ada does look good but, as far as I can tell, if I ever want to use it
> for any software not to be distributed under the GPL, I'm faced with
> dealing with a subscription model (with goodness knows what guarantees
> of ongoing affordability) negotiated with a private corporation, so
> personally I'll probably actually not invest any more time into
> learning about Ada and disappear from here and use something else for
> my projects.

If you were to negotiate with AdaCore, you'd find that you are entitled
to continue to use the version(s) you obtained while you were supported
indefinitely (even after the support contract expires).

If you are prepared to use the FSF GCC unsupported (except by the
goodwill of folk here, on Stack Overflow, and on IRC somewhere), and you
can get hold of a build with Ada enabled (Debian Linux (easy),
probably other Linux distributions, Mac OS X, ...) then you can
develop code and release binaries under any licence that you want:
see GCC Runtime Library Exception[1], Rationale document and Frequently
Asked Questions[2].

[1] http://www.gnu.org/licenses/gcc-exception.html
[2] http://www.gnu.org/licenses/gcc-exception-faq.html

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-09 13:31   ` Simon Wright
@ 2014-10-09 18:04     ` Brian Drummond
  2014-10-09 20:02       ` Dmitry A. Kazakov
  2014-10-09 18:35     ` Mark Carroll
  1 sibling, 1 reply; 75+ messages in thread
From: Brian Drummond @ 2014-10-09 18:04 UTC (permalink / raw)


On Thu, 09 Oct 2014 14:31:54 +0100, Simon Wright wrote:

> Mark Carroll <mtbc@bcs.org> writes:
> 
>> Ada does look good but, as far as I can tell, if I ever want to use it
>> for any software not to be distributed under the GPL,...

> If you are prepared to use the FSF GCC unsupported (except by the
> goodwill of folk here, on Stack Overflow, and on IRC somewhere), and you
> can get hold of a build with Ada enabled (Debian Linux (easy),
> probably other Linux distributions, Mac OS X, ...) then you can develop
> code and release binaries under any licence that you want:
> see GCC Runtime Library Exception[1], Rationale document and Frequently
> Asked Questions[2].

On the subject of mingw, I don't know how many people know of this 
option, but I was a little surprised to see mingw packages, including FSF 
Gnat, available on Debian.

Turns out it's a cross-compiler. So having developed an Ada app on Debian, 
I can invoke the mingw crosscompiler and build a Windows executable. So 
far these have worked flawlessly, including interfacing between Ada and a 
C library talking to a USB device.

The executable is larger - typically 800k instead of 150k for native 
Linux executables. Haven's investigated why but I assume it's statically 
linked to eliminate dependencies, and I haven't had to install anything 
other than the exe on Windows machines so far.

One more option and probably the simplest way to use FSF GCC targetting  
Windows machines...


- Brian

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-09 13:31   ` Simon Wright
  2014-10-09 18:04     ` Brian Drummond
@ 2014-10-09 18:35     ` Mark Carroll
  2014-10-09 21:08       ` Simon Clubley
  2014-10-12  1:25       ` David Botton
  1 sibling, 2 replies; 75+ messages in thread
From: Mark Carroll @ 2014-10-09 18:35 UTC (permalink / raw)


Simon Wright <simon@pushface.org> writes:

> If you were to negotiate with AdaCore, you'd find that you are entitled
> to continue to use the version(s) you obtained while you were supported
> indefinitely (even after the support contract expires).

This isn't so great: it would become increasingly obsolete and bug-fixes
would never reach me. I've been there before (even in cases where they
discontinued the product altogether).

> If you are prepared to use the FSF GCC unsupported (except by the
> goodwill of folk here, on Stack Overflow, and on IRC somewhere), and you
> can get hold of a build with Ada enabled (Debian Linux (easy),
> probably other Linux distributions, Mac OS X, ...) then you can
> develop code and release binaries under any licence that you want:
> see GCC Runtime Library Exception
(snip)

That is great news, and makes the situation much less surprising to me.
I think that in my reading I had realized that GNAT Pro is different,
but I must have conflated GNAT FSF with GNAT GPL (especially as the FSF
have typically done GPL enforcement!). Thank you very much. Further
reading suggests that GNAT FSF even supports Ada 2012. I'll thus stick
around and look more closely at a couple of recent Ada books. (-:

-- Mark


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-09 11:58 ` Mark Carroll
  2014-10-09 13:31   ` Simon Wright
@ 2014-10-09 19:06   ` Shark8
  2014-11-04 16:28   ` Nicholas Collin Paul de Gloucester
  2 siblings, 0 replies; 75+ messages in thread
From: Shark8 @ 2014-10-09 19:06 UTC (permalink / raw)


On 10/9/2014 5:58 AM, Mark Carroll wrote:
> There hasn't been any recent stimulus though apart from the "internal"
> one that I finished up with some of my Erlang learning and wanted to
> look at where Ada might be a better choice.

Ah, Erlang -- I would have liked to have done a VM for it in Ada... but 
there seems to be rather little in the way of specification for it.

> Ada does look good but, as far as I can tell, if I ever want to use it
> for any software not to be distributed under the GPL, [...]

Yeah, more than a few of us would like there to be more than one freely 
available implementation.


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-09 18:04     ` Brian Drummond
@ 2014-10-09 20:02       ` Dmitry A. Kazakov
  0 siblings, 0 replies; 75+ messages in thread
From: Dmitry A. Kazakov @ 2014-10-09 20:02 UTC (permalink / raw)


On Thu, 09 Oct 2014 18:04:30 GMT, Brian Drummond wrote:

> On the subject of mingw, I don't know how many people know of this 
> option, but I was a little surprised to see mingw packages, including FSF 
> Gnat, available on Debian.
> 
> Turns out it's a cross-compiler. So having developed an Ada app on Debian, 
> I can invoke the mingw crosscompiler and build a Windows executable. So 
> far these have worked flawlessly, including interfacing between Ada and a 
> C library talking to a USB device.

Yes, and on Fedora as well, which has more recent versions, usually of the
stuff.

Unfortunately they cannot be used otherwise than for producing executables.
Libraries (ali files) will be incompatible with Windows GNAT GPL 2014.

E.g. you could find GTK 3.14 for minGW Fedora, instead of 3.8 from GNAT GPL
2014, or the latest officially released GTK 3.6. But you won't be able to
use it, most likely.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-06 22:42 Newcomers to comp.lang.ada: welcome and how did you end up here ? Simon Clubley
                   ` (4 preceding siblings ...)
  2014-10-09 12:50 ` john
@ 2014-10-09 21:08 ` gdotone
  2014-10-10 16:25 ` Stribor40
  2014-11-08 23:51 ` HerrDoktor
  7 siblings, 0 replies; 75+ messages in thread
From: gdotone @ 2014-10-09 21:08 UTC (permalink / raw)


On Monday, October 6, 2014 6:42:15 PM UTC-4, Simon Clubley wrote:
> In recent weeks/months, there's been an influx of newcomers to
> 
> comp.lang.ada.

c's pointers.

c:  too many undefined and unspecified by design or omission.

there maybe the same problem in Ada, but i'm new to it, so i haven't seen that yet.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-09 18:35     ` Mark Carroll
@ 2014-10-09 21:08       ` Simon Clubley
  2014-10-10  7:28         ` Natasha Kerensikova
  2014-10-12  1:33         ` David Botton
  2014-10-12  1:25       ` David Botton
  1 sibling, 2 replies; 75+ messages in thread
From: Simon Clubley @ 2014-10-09 21:08 UTC (permalink / raw)


On 2014-10-09, Mark Carroll <mtbc@bcs.org> wrote:
> Simon Wright <simon@pushface.org> writes:
>> If you are prepared to use the FSF GCC unsupported (except by the
>> goodwill of folk here, on Stack Overflow, and on IRC somewhere), and you
>> can get hold of a build with Ada enabled (Debian Linux (easy),
>> probably other Linux distributions, Mac OS X, ...) then you can
>> develop code and release binaries under any licence that you want:
>> see GCC Runtime Library Exception
> (snip)
>
> That is great news, and makes the situation much less surprising to me.
> I think that in my reading I had realized that GNAT Pro is different,
> but I must have conflated GNAT FSF with GNAT GPL (especially as the FSF
> have typically done GPL enforcement!). Thank you very much. Further
> reading suggests that GNAT FSF even supports Ada 2012. I'll thus stick
> around and look more closely at a couple of recent Ada books. (-:
>

First off, thanks to everyone for your replies. It was interesting
reading how you ended up in comp.lang.ada.

The problem with FSF GNAT is that once you try to use it with something
other than mainstream desktop style operating systems you run into
major problems or find outright it simply doesn't work.

There are many areas in which Ada could be a viable candidate for
projects, but the lack of freely available Ada compilers, without
GPL restrictions on the generated code, across a wide range of
platforms/targets kills the idea of using Ada in those areas stone
dead sadly.

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-07 20:21   ` Jeffrey Carter
  2014-10-07 21:28     ` David Botton
@ 2014-10-10  0:58     ` rriehle
  1 sibling, 0 replies; 75+ messages in thread
From: rriehle @ 2014-10-10  0:58 UTC (permalink / raw)


Ed Colbert is taking the lead on updating Ada Distilled.  I will contributing to the update, but he will now be the primary author.  

FYI.  I have two active email accounts.
     laoxiaohai@juno.com (personal)
     rriehle@itu.edu. (Academic)

I am no longer at the Naval Postgraduate School.

I am mostly retired, but continue to teach as an adjunct at www.itu.edu in San Jose, CA

Richard Riehle, PhD
Core Faculty, ITU


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-09 21:08       ` Simon Clubley
@ 2014-10-10  7:28         ` Natasha Kerensikova
  2014-10-10  9:07           ` Mark Carroll
                             ` (2 more replies)
  2014-10-12  1:33         ` David Botton
  1 sibling, 3 replies; 75+ messages in thread
From: Natasha Kerensikova @ 2014-10-10  7:28 UTC (permalink / raw)


Hello,

On 2014-10-09, Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:
> The problem with FSF GNAT is that once you try to use it with something
> other than mainstream desktop style operating systems you run into
> major problems or find outright it simply doesn't work.

What kind of major problems?

I've recently built avr-gnat and it haven't encountered any difficulty.
Are you implying major issues are awaiting me further in this path?

I'm also trying to build a cross-compiler for Nintendo DS, it's a bit
less smooth but I haven't spent much time on it yet. Is it also doomed?


Natasha

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10  7:28         ` Natasha Kerensikova
@ 2014-10-10  9:07           ` Mark Carroll
  2014-10-10  9:33             ` Björn Lundin
  2014-10-10 14:28           ` Lucretia
  2014-10-10 19:47           ` Simon Clubley
  2 siblings, 1 reply; 75+ messages in thread
From: Mark Carroll @ 2014-10-10  9:07 UTC (permalink / raw)


Natasha Kerensikova <lithiumcat@instinctive.eu> writes:

> I'm also trying to build a cross-compiler for Nintendo DS, it's a bit
> less smooth but I haven't spent much time on it yet. Is it also doomed?

Now that would be cool. My children each have a Nintendo DS, so such a
compiler might help to get them into programming!

-- Mark


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-08 11:23       ` Dmitry A. Kazakov
@ 2014-10-10  9:18         ` Gour
  0 siblings, 0 replies; 75+ messages in thread
From: Gour @ 2014-10-10  9:18 UTC (permalink / raw)


On Wed, 8 Oct 2014 13:23:46 +0200
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote:

> I would say, less than expected. Last time I evaluated it (some
> months ago) I decided to make C wrappers instead and deal rather with
> them. 

Thank you. That's good to know.


Sincerely,
Gour

-- 
Even if you are considered to be the most sinful of all sinners, 
when you are situated in the boat of transcendental knowledge 
you will be able to cross over the ocean of miseries.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10  9:07           ` Mark Carroll
@ 2014-10-10  9:33             ` Björn Lundin
  2014-10-10 11:41               ` Natasha Kerensikova
  0 siblings, 1 reply; 75+ messages in thread
From: Björn Lundin @ 2014-10-10  9:33 UTC (permalink / raw)


On 2014-10-10 11:07, Mark Carroll wrote:
> Natasha Kerensikova <lithiumcat@instinctive.eu> writes:
> 
>> I'm also trying to build a cross-compiler for Nintendo DS, it's a bit
>> less smooth but I haven't spent much time on it yet. Is it also doomed?
> 
> Now that would be cool. My children each have a Nintendo DS, so such a
> compiler might help to get them into programming!
> 
> -- Mark
> 

And it will make me, and my children looking into
embedded programming with graphics.
It would be really nice

--
Björn

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10  9:33             ` Björn Lundin
@ 2014-10-10 11:41               ` Natasha Kerensikova
  2014-10-10 13:35                 ` Björn Lundin
  2014-10-10 14:51                 ` Lucretia
  0 siblings, 2 replies; 75+ messages in thread
From: Natasha Kerensikova @ 2014-10-10 11:41 UTC (permalink / raw)


On 2014-10-10, Björn Lundin <b.f.lundin@gmail.com> wrote:
> On 2014-10-10 11:07, Mark Carroll wrote:
>> Natasha Kerensikova <lithiumcat@instinctive.eu> writes:
>> 
>>> I'm also trying to build a cross-compiler for Nintendo DS, it's a bit
>>> less smooth but I haven't spent much time on it yet. Is it also doomed?
>> 
>> Now that would be cool. My children each have a Nintendo DS, so such a
>> compiler might help to get them into programming!
>> 
>
> And it will make me, and my children looking into
> embedded programming with graphics.
> It would be really nice

I don't want to ruin your enthusiasm, but be aware that the compiler is
only part of the story: once you have properly formatted bytecode, you
still need to somehow load it in the device itself, and that part
becomes trickier and trickier.

It usually involves a special flashcart where images are loaded, but
since copyrighted game images can be loaded too, they are looked
suspiciously and might even be illegal in some areas. And even when the
hardware is fine, its firmware might be source of trouble, since it
often contains parts of vulnerable copyrighted games to trick the device
into running unsigned code.

Moreover, Nintendo is currently playing cat-and-mouse with flashcart
makers, so you might have to stick with older firmware versions (and
not use newer retail games) or replace the flashcart when newer firmware
bans the previous one (with often a period without working flashcart
until they come up with a solution).

The original (big gray) Nintendo DS and the DSlite have it easy, since
they were designed to be offline and they have a wide range of available
flashcarts. I think DSi is mostly fine, but 3DS and 2DS all have the
cat-and-mouse firmware dynamics.

Also the newer features are not available either, since the flashcart
works by pretending to be a DS game (or maybe they worked up to DSi
level), newer consoles go into compatibility mode and disable features
like 3D, wider upper screen, etc.

Having said that, I believe it still allows fun things to be done,
otherwise I wouldn't be trying to add the Ada fronted to their patched
gcc.

I wonder why the DS homebrew community is so small (even before the
cat-and-mouse began to be troublesome), compared to GBA homebrew back in
the days.


Natasha


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10 11:41               ` Natasha Kerensikova
@ 2014-10-10 13:35                 ` Björn Lundin
  2014-10-10 17:10                   ` Natasha Kerensikova
  2014-10-10 14:51                 ` Lucretia
  1 sibling, 1 reply; 75+ messages in thread
From: Björn Lundin @ 2014-10-10 13:35 UTC (permalink / raw)


On 2014-10-10 13:41, Natasha Kerensikova wrote:

> I wonder why the DS homebrew community is so small (even before the
> cat-and-mouse began to be troublesome), compared to GBA homebrew back in
> the days.

Hmm, GBA consoles, we have a few.
Do you happen to know of an Ada front end for them?
Even if they are somewhat old, It's still plenty for
playing around, and some education.

--
Björn


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10  7:28         ` Natasha Kerensikova
  2014-10-10  9:07           ` Mark Carroll
@ 2014-10-10 14:28           ` Lucretia
  2014-10-10 19:47           ` Simon Clubley
  2 siblings, 0 replies; 75+ messages in thread
From: Lucretia @ 2014-10-10 14:28 UTC (permalink / raw)


On Friday, 10 October 2014 08:29:02 UTC+1, Natasha Kerensikova  wrote:

> I'm also trying to build a cross-compiler for Nintendo DS, it's a bit
> less smooth but I haven't spent much time on it yet. Is it also doomed?

No, it's just an ARM CPU in there. Use the compilers at my https://github.com/Lucretia/tamp page to start with, you just need an RTS and a bare metal one will suffice for that kind of thing as I thought about doing the same thing, but as I have a DSi nobody has or will crack it enough to be able to develop on it.

Luke.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10 11:41               ` Natasha Kerensikova
  2014-10-10 13:35                 ` Björn Lundin
@ 2014-10-10 14:51                 ` Lucretia
  1 sibling, 0 replies; 75+ messages in thread
From: Lucretia @ 2014-10-10 14:51 UTC (permalink / raw)


On Friday, 10 October 2014 12:41:12 UTC+1, Natasha Kerensikova  wrote:

> I wonder why the DS homebrew community is so small (even before the
> cat-and-mouse began to be troublesome), compared to GBA homebrew back in
> the days.

Also, the last update to DSiBrew was almost 2 years ago. I also remember reading that they weren't going to continue trying to hack the DSi as it seemed impossible and people wre moving to the 3DS at that time. Shame, would've been really cool to have DSiWare like they had on the Wii.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-06 22:42 Newcomers to comp.lang.ada: welcome and how did you end up here ? Simon Clubley
                   ` (5 preceding siblings ...)
  2014-10-09 21:08 ` gdotone
@ 2014-10-10 16:25 ` Stribor40
  2014-10-10 17:09   ` Luke A. Guest
  2014-11-08 23:51 ` HerrDoktor
  7 siblings, 1 reply; 75+ messages in thread
From: Stribor40 @ 2014-10-10 16:25 UTC (permalink / raw)


is there a way to send anew topic post via email directly from my email?

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10 16:25 ` Stribor40
@ 2014-10-10 17:09   ` Luke A. Guest
  2014-10-10 17:59     ` Stribor40
  0 siblings, 1 reply; 75+ messages in thread
From: Luke A. Guest @ 2014-10-10 17:09 UTC (permalink / raw)


Stribor40 <ikamzic@gmail.com> wrote:
> is there a way to send anew topic post via email directly from my email?

Via an mento client or google groups

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10 13:35                 ` Björn Lundin
@ 2014-10-10 17:10                   ` Natasha Kerensikova
  2014-10-10 18:22                     ` Luke A. Guest
  0 siblings, 1 reply; 75+ messages in thread
From: Natasha Kerensikova @ 2014-10-10 17:10 UTC (permalink / raw)


On 2014-10-10, Björn Lundin <b.f.lundin@gmail.com> wrote:
> On 2014-10-10 13:41, Natasha Kerensikova wrote:
>
>> I wonder why the DS homebrew community is so small (even before the
>> cat-and-mouse began to be troublesome), compared to GBA homebrew back in
>> the days.
>
> Hmm, GBA consoles, we have a few.
> Do you happen to know of an Ada front end for them?
> Even if they are somewhat old, It's still plenty for
> playing around, and some education.

devkitARM targets both DS and GBA, so making a front-end for the former
should work for the latter too.

It makes sense, since binary compatibility is achieved by having exactly
the same hardware: one of the CPU in DS is the same as GBA (arm7), the
2D GPU is also the same (except DS has one for each screen), A and B
buttons are wired exactly the same way, etc.

But you still have the problem of deploying your code in the device,
with dedicated hardware that has similar legal and availability issues
as DS flashcarts.


Natasha


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10 17:09   ` Luke A. Guest
@ 2014-10-10 17:59     ` Stribor40
  2014-10-10 18:22       ` Luke A. Guest
  0 siblings, 1 reply; 75+ messages in thread
From: Stribor40 @ 2014-10-10 17:59 UTC (permalink / raw)




what is mento client

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10 17:10                   ` Natasha Kerensikova
@ 2014-10-10 18:22                     ` Luke A. Guest
  0 siblings, 0 replies; 75+ messages in thread
From: Luke A. Guest @ 2014-10-10 18:22 UTC (permalink / raw)


It's a shame that Nintendo hasn't opened development for nds like Sony have
for vita.

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10 17:59     ` Stribor40
@ 2014-10-10 18:22       ` Luke A. Guest
  0 siblings, 0 replies; 75+ messages in thread
From: Luke A. Guest @ 2014-10-10 18:22 UTC (permalink / raw)


Stribor40 <ikamzic@gmail.com> wrote:
> what is mento client

Autocomplete error.

Usenet


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10  7:28         ` Natasha Kerensikova
  2014-10-10  9:07           ` Mark Carroll
  2014-10-10 14:28           ` Lucretia
@ 2014-10-10 19:47           ` Simon Clubley
  2014-10-10 21:38             ` Luke A. Guest
  2014-10-11 10:53             ` Newcomers to comp.lang.ada: welcome and how did you end up here ? Brian Drummond
  2 siblings, 2 replies; 75+ messages in thread
From: Simon Clubley @ 2014-10-10 19:47 UTC (permalink / raw)


On 2014-10-10, Natasha Kerensikova <lithiumcat@instinctive.eu> wrote:
> Hello,
>
> On 2014-10-09, Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:
>> The problem with FSF GNAT is that once you try to use it with something
>> other than mainstream desktop style operating systems you run into
>> major problems or find outright it simply doesn't work.
>
> What kind of major problems?
>
> I've recently built avr-gnat and it haven't encountered any difficulty.
> Are you implying major issues are awaiting me further in this path?
>

That's because the AVR-Ada project is a third party project and they
have gone to a great deal of effort to support Ada on the AVR.

My comment referred to the kit you download directly from the FSF.
You can directly build C cross and native compilers from that kit for
a wide range of platforms; you can't do that for Ada.

BTW, in case you are interested, Brian Drummond has brought up an Ada
cross compiler for the MSP430. Further information at:

	http://sourceforge.net/p/msp430ada/wiki/Home/

I've also tried using the latest FSF GNAT kit to bring up Ada on VMS
and failed. ACT have their own source tree for the GNAT Pro product
for VMS and they push changes into the FSF tree but it appears for VMS
that either (a) not all the required changes are there or (b) you need
a _very_ specific (and undocumented) combination of build flags.

I don't know which one it is for sure, but I'm tending towards (a).

> I'm also trying to build a cross-compiler for Nintendo DS, it's a bit
> less smooth but I haven't spent much time on it yet. Is it also doomed?
>

I strongly recommend you follow Luke's link; he's spent quite a bit
of effort over the years on this and he's encountered a good range
of problems (there was a time when I was following Luke's work
closely).

The problem is that even to myself (who _wants_ to use Ada) the
language is great but the compiler situation is very flaky especially
when you use a good range of embedded MCUs and non-mainstream
operating systems as I do.

I can only imagine how this looks to a newcomer to Ada especially as
I use C for my embedded projects even when the desire is to use Ada.

In my case, the thing which really forced this issue for me was a few
years ago when I wanted to develop a common bare metal I/O library
plus some other code which worked across _all_ the MCUs I use or might
_want_ to use in the future. (The library has architecture neutral
upper layers and an architecture/MCU specific lower layer.)

I realised the only viable option was C and I realised this was also
true for my embedded projects in general because I couldn't be sure
what future environments I might want to run the code in.

It's experiences like that which make we wonder if we need some kind
of new half-way language between C and Ada which is easy to bring up
on a new target and while not been as type-safe as Ada would be much
better than C.

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10 19:47           ` Simon Clubley
@ 2014-10-10 21:38             ` Luke A. Guest
  2014-10-12 10:56               ` Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?] Natasha Kerensikova
  2014-10-11 10:53             ` Newcomers to comp.lang.ada: welcome and how did you end up here ? Brian Drummond
  1 sibling, 1 reply; 75+ messages in thread
From: Luke A. Guest @ 2014-10-10 21:38 UTC (permalink / raw)


Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:

>> I'm also trying to build a cross-compiler for Nintendo DS, it's a bit
>> less smooth but I haven't spent much time on it yet. Is it also doomed?
>> 
> 
> I strongly recommend you follow Luke's link; he's spent quite a bit
> of effort over the years on this and he's encountered a good range
> of problems (there was a time when I was following Luke's work
> closely).
>

Cheers, I have not touched it for a while. I was going try to maintain a
GCC tree but I think it's going to easier to maintain patches still. I have
some tiny patches which allow you to bud a gnat cross compiler with tools
on the same vein as a c cross compiler. It's not great. It adds a new
required flag to turn off building of the runtime. I need to rebook at it.
Once my new site is ready I'll be going back to old projects, this one
included. 

> The problem is that even to myself (who _wants_ to use Ada) the
> language is great but the compiler situation is very flaky especially

Certainly is.

> I can only imagine how this looks to a newcomer to Ada especially as
> I use C for my embedded projects even when the desire is to use Ada.

It's pretty dire really, a language designed for embedded is a bitch to get
working yet a language designed for education can do it easily, I'm talking
pascal here.


> It's experiences like that which make we wonder if we need some kind
> of new half-way language between C and Ada which is easy to bring up
> on a new target and while not been as type-safe as Ada would be much
> better than C.


It's this kind of thing that makes me consider developing a new language
derived from Asa bit simplified and just made easier to build.

Luke


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-10 19:47           ` Simon Clubley
  2014-10-10 21:38             ` Luke A. Guest
@ 2014-10-11 10:53             ` Brian Drummond
  1 sibling, 0 replies; 75+ messages in thread
From: Brian Drummond @ 2014-10-11 10:53 UTC (permalink / raw)


On Fri, 10 Oct 2014 19:47:06 +0000, Simon Clubley wrote:

> On 2014-10-10, Natasha Kerensikova <lithiumcat@instinctive.eu> wrote:
>> Hello,
>>
>> On 2014-10-09, Simon Clubley
>> <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:

>> I've recently built avr-gnat and it haven't encountered any difficulty.
>> Are you implying major issues are awaiting me further in this path?
> That's because the AVR-Ada project is a third party project and they
> have gone to a great deal of effort to support Ada on the AVR.

And their minimal RTS is quite a good basis for porting a minimal RTS for 
other small systems - not just the MSP430 but I had vague plans to use it 
for small ARMs (however, see below)

> BTW, in case you are interested, Brian Drummond has brought up an Ada
> cross compiler for the MSP430. Further information at:
> 
> 	http://sourceforge.net/p/msp430ada/wiki/Home/

Thanks for the plug. Now that the MSP430 is an official gcc target (in 
gcc4.9) I want to update it; unfortunately gcc4.9 generates significantly 
larger code than the unofficial "mspgcc" back end for 4.7, and it's 
taking a while to sort through the issues.

> I can only imagine how this looks to a newcomer to Ada especially as I
> use C for my embedded projects even when the desire is to use Ada.
> 
> In my case, the thing which really forced this issue for me was a few
> years ago when I wanted to develop a common bare metal I/O library plus
> some other code which worked across _all_ the MCUs I use or might _want_
> to use in the future. (The library has architecture neutral upper layers
> and an architecture/MCU specific lower layer.)

One piece of possibly good news : there's a LinkedIn thread where - just 
possibly - a critical mass of developers are getting together. Including 
Luke and others with some serious interest and past track record.

On this group, see the threads "Group development and porting of the RTS 
using GNAT GPL for ARM" and "http://www.AdaForMicrocontrollers.com now 
"Live". "

https://www.linkedin.com/groups?home=&gid=2188035&trk=anet_ug_hm

They reference a currently not-very-lively forum 
https://www.adaformicrocontrollers.com/

and a Github repo:
https://github.com/rowsail/AdaForMicrocontrollers

- Brian


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-09 18:35     ` Mark Carroll
  2014-10-09 21:08       ` Simon Clubley
@ 2014-10-12  1:25       ` David Botton
  2014-10-12 14:40         ` Luke A. Guest
  1 sibling, 1 reply; 75+ messages in thread
From: David Botton @ 2014-10-12  1:25 UTC (permalink / raw)



> That is great news, and makes the situation much less surprising to me.
> 
> I think that in my reading I had realized that GNAT Pro is different,
> 
> but I must have conflated GNAT FSF with GNAT GPL (especially as the FSF
> 
> have typically done GPL enforcement!).

I wonder if it makes sense for the community to rename the FSF packaged version of GNAT to something else to prevent this confusion.

I am very happy to promote AdaCore as an option for a supported compiler option.

As marketed now the only open source Ada compiler is given the stigma that it is not fit for use at all for anything serious, as a opposed to AdaCore just marketing a "value add". The value they add is _huge_ on serious projects (I've been on both sides supporting and supported) and it is well worth it.

However... Leaving the public impression that Ada (since GNAT is only open source option) is not viable as a language for projects without support is damaging to everyone.

Would the gnuada team or others consider creating a new branded FSF GNAT targeted to the small business world? Perhaps OpenAda?

<<
OpenAda the Commercial Grade Open Source Ada Compiler
--------------------------------------------------
For those seeking an "Enterprise support  environment" can contact AdaCore as OpenAda is compatible to the GnatPRO tool chain.
>>

David Botton


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-09 21:08       ` Simon Clubley
  2014-10-10  7:28         ` Natasha Kerensikova
@ 2014-10-12  1:33         ` David Botton
  1 sibling, 0 replies; 75+ messages in thread
From: David Botton @ 2014-10-12  1:33 UTC (permalink / raw)


> The problem with FSF GNAT is that once you try to use it with something
> other than mainstream desktop style operating systems you run into
> major problems or find outright it simply doesn't work.

Admittedly I'm only concerned about Ada on Desktop platforms (Linux, Mac and Windows) for popularizing Ada and (and no dreaming a bit) LLVM backend for iOS.

If more people show interest in Ada the talent needed to bolster the various GCC targets unencumbered would come.

David Botton


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-10 21:38             ` Luke A. Guest
@ 2014-10-12 10:56               ` Natasha Kerensikova
  2014-10-12 11:40                 ` Simon Clubley
                                   ` (2 more replies)
  0 siblings, 3 replies; 75+ messages in thread
From: Natasha Kerensikova @ 2014-10-12 10:56 UTC (permalink / raw)


Hello,

On 2014-10-10, Luke A  Guest <laguest@archeia.com> wrote:
> Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:
>
>>> I'm also trying to build a cross-compiler for Nintendo DS, it's a bit
>>> less smooth but I haven't spent much time on it yet. Is it also doomed?
>>> 
>> 
>> I strongly recommend you follow Luke's link; he's spent quite a bit
>> of effort over the years on this and he's encountered a good range
>> of problems (there was a time when I was following Luke's work
>> closely).
>>
>
> Cheers, I have not touched it for a while. I was going try to maintain a
> GCC tree but I think it's going to easier to maintain patches still. I have
> some tiny patches which allow you to bud a gnat cross compiler with tools
> on the same vein as a c cross compiler. It's not great. It adds a new
> required flag to turn off building of the runtime. I need to rebook at it.
> Once my new site is ready I'll be going back to old projects, this one
> included. 

The problem here is that I'm trying to mix several projects, and it's
really difficult to make a "Frankenstein's toolchain" without
understanding what is going on, especially since it seems there are
several ways to do the same thing, and all with different versions and
patchsets.

I really want to start from devkitARM, since they provide a lot of very
useful system libraries for the target, and whatever target
configuration they use is what is needed for the host tools to build the
image.

It is built around gcc 4.8.2 with newlib. As a first step, I would be
happy with an Ada front-end without RTS, based only on a C-exported main
and C-imported system primitives. To reach this point, it seems the
required patchset is quite light.

Luke, would you mind explaining your gcc-4.6.1.diff and your choice of
configure flags? That would be extremely helpful to backport it into
devkitARM.

Then I will consider how to deal with the RTS and what features can be
realistically provided.

>> It's experiences like that which make we wonder if we need some kind
>> of new half-way language between C and Ada which is easy to bring up
>> on a new target and while not been as type-safe as Ada would be much
>> better than C.
>
> It's this kind of thing that makes me consider developing a new language
> derived from Asa bit simplified and just made easier to build.

Would anyone know whether an LLVM-based compiler would help on that
particular front?

On the one hand, having such a well-defined intermediate form should
result in a very loose coupling between back-end and front-end, making
all languages roughly equal.

On the other hand, how wide is the availability of LLVM-to-embedded-target
back-end? It's not much of a progress if C and Ada are equal at
"limited to desktop targets" point.


The reason why I'm asking, is I'm stilling working on updating gela and
building on it a RTS-limited LLVM-based Ada 95 compiler seems realistic
(albeit far away down the road).


Natasha


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-12 10:56               ` Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?] Natasha Kerensikova
@ 2014-10-12 11:40                 ` Simon Clubley
  2014-10-12 12:27                   ` Peter Chapin
  2014-10-12 13:25                 ` Luke A. Guest
  2014-10-15  9:58                 ` Brian Drummond
  2 siblings, 1 reply; 75+ messages in thread
From: Simon Clubley @ 2014-10-12 11:40 UTC (permalink / raw)


On 2014-10-12, Natasha Kerensikova <lithiumcat@instinctive.eu> wrote:
>
> Would anyone know whether an LLVM-based compiler would help on that
> particular front?
>

LLVM wasn't capable of supporting 8-bit MCUs the last time I checked
and I'm pretty sure it doesn't support 16-bit MCUs either.

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-12 11:40                 ` Simon Clubley
@ 2014-10-12 12:27                   ` Peter Chapin
  2014-10-12 19:42                     ` Simon Clubley
  0 siblings, 1 reply; 75+ messages in thread
From: Peter Chapin @ 2014-10-12 12:27 UTC (permalink / raw)


In article <m1dpbd$nac$1@dont-email.me>, 
clubley@remove_me.eisner.decus.org-Earth.UFP says...

> LLVM wasn't capable of supporting 8-bit MCUs the last time I checked
> and I'm pretty sure it doesn't support 16-bit MCUs either.

LLVM targets the MSP430 which is a 16 bit processor in all its 
variations as far as I know.

Peter

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-12 10:56               ` Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?] Natasha Kerensikova
  2014-10-12 11:40                 ` Simon Clubley
@ 2014-10-12 13:25                 ` Luke A. Guest
  2014-10-12 13:52                   ` Natasha Kerensikova
  2014-10-15  9:58                 ` Brian Drummond
  2 siblings, 1 reply; 75+ messages in thread
From: Luke A. Guest @ 2014-10-12 13:25 UTC (permalink / raw)


I wouldn't use that patch. When I get home I'll explain it and why you
don't want to use it and I'll show you a better way.


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-12 13:25                 ` Luke A. Guest
@ 2014-10-12 13:52                   ` Natasha Kerensikova
  2014-10-12 14:40                     ` Luke A. Guest
                                       ` (2 more replies)
  0 siblings, 3 replies; 75+ messages in thread
From: Natasha Kerensikova @ 2014-10-12 13:52 UTC (permalink / raw)


Hello,

On 2014-10-12, Luke A  Guest <laguest@archeia.com> wrote:
> I wouldn't use that patch. When I get home I'll explain it and why you
> don't want to use it and I'll show you a better way.

I'm looking forward to it.


FWIW, I have already started with devkitARM build scripts (after some
tweaking to make it work on a FreeBSD host), added Ada to the list in
--enable-languages.

I'm currently stumbling on the gnat* not being installed (there are a
lot of messages like "install: gnatchop: No such file or directory"
and even a "You must first build the GNAT library: make gnatlib").

For some reason, devkitARM build gcc in two steps, first using the
targets `all-gcc` and `install-gcc`, then `all` and `install`, building
and installing newlib in between (and those 3 steps are performed right
after building and installing binutils).

I thought that the "extra" languages (c++ and objective-c in the
original devkitARM) where build in the last step, but I see error in Ada
tools already in the first step.

I will be digging into it, but any insight to help me there would be
welcome.


Thanks in advance,
Natasha

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-12  1:25       ` David Botton
@ 2014-10-12 14:40         ` Luke A. Guest
  0 siblings, 0 replies; 75+ messages in thread
From: Luke A. Guest @ 2014-10-12 14:40 UTC (permalink / raw)


David Botton <david@botton.com> wrote:

> OpenAda the Commercial Grade Open Source Ada Compiler
.

As posted in Natasha's ds thread...

I have been trying to get my tamp scripts into a better condition to go
into a separate repo aimed specifically at this and some other targets. I'm
calling tiny Ada ATM.

Luke


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-12 13:52                   ` Natasha Kerensikova
@ 2014-10-12 14:40                     ` Luke A. Guest
  2014-10-12 20:09                     ` Natasha Kerensikova
  2014-10-12 23:18                     ` Lucretia
  2 siblings, 0 replies; 75+ messages in thread
From: Luke A. Guest @ 2014-10-12 14:40 UTC (permalink / raw)


Natasha Kerensikova <lithiumcat@instinctive.eu> wrote:
> Hello,

Hi

> I'm looking forward to it.

You've reminded me of a target I was going to try years back when I bought
a ndsi but then found it'll never be hacked. I'm going add a blog entry
about that once my new site is going.

> FWIW, I have already started with devkitARM build scripts (after some
> tweaking to make it work on a FreeBSD host), added Ada to the list in
> --enable-languages.
> 
> I'm currently stumbling on the gnat* not being installed (there are a
> lot of messages like "install: gnatchop: No such file or directory"
> and even a "You must first build the GNAT library: make gnatlib").

Yup massive pain in the arse. The point is to be able to build a bare metal
target without a runtime as iirc the debilitate thing really builds  an
arm-elf target for c, no headers, then new lib, then arm-elf for c and
other languages.

I was going to replace their nds libs with Ada specific packages, no c.

> I will be digging into it, but any insight to help me there would be
> welcome.

It's not easy by any stretch if the imagination and the documentation is
the source, which sucks.

As mentioned in another thread, openada, I have been trying to get my tamp
scripts into a better condition to go into a separate repo aimed
specifically at this and some other targets.

Luke


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-12 12:27                   ` Peter Chapin
@ 2014-10-12 19:42                     ` Simon Clubley
  0 siblings, 0 replies; 75+ messages in thread
From: Simon Clubley @ 2014-10-12 19:42 UTC (permalink / raw)


On 2014-10-12, Peter Chapin <PChapin@vtc.vsc.edu> wrote:
> In article <m1dpbd$nac$1@dont-email.me>, 
> clubley@remove_me.eisner.decus.org-Earth.UFP says...
>
>> LLVM wasn't capable of supporting 8-bit MCUs the last time I checked
>> and I'm pretty sure it doesn't support 16-bit MCUs either.
>
> LLVM targets the MSP430 which is a 16 bit processor in all its 
> variations as far as I know.
>

I stand corrected. :-)

When I first became interested in finding out more about LLVM one of
the first things I did was to see if it supported the AVR which I
found it didn't.

At the same time I also came across multiple discussions that LLVM
wasn't designed to support anything under 32 bits and I've never had
reason to suspect until now that wasn't still the case.

I've also found that someone has now attempted to support the AVR
in LLVM as a third party port on SourceForge although it's described
as "Pre Alpha" and the last update is from nearly a couple of years ago.

I learnt something new today. Thanks.

Simon.

PS: I've added building and _actually_ playing with the latest versions
to my todo list in order to see what else has changed. It's become of
far greater interest to me now I know it can now support architectures
less than 32 bits in size.

PPS: Next time, I will research what the _current_ situation is before
making a comment like the above again. :-)

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-12 13:52                   ` Natasha Kerensikova
  2014-10-12 14:40                     ` Luke A. Guest
@ 2014-10-12 20:09                     ` Natasha Kerensikova
  2014-10-19 14:34                       ` Natasha Kerensikova
  2014-10-12 23:18                     ` Lucretia
  2 siblings, 1 reply; 75+ messages in thread
From: Natasha Kerensikova @ 2014-10-12 20:09 UTC (permalink / raw)


On 2014-10-12, Natasha Kerensikova <lithiumcat@instinctive.eu> wrote:
> FWIW, I have already started with devkitARM build scripts (after some
> tweaking to make it work on a FreeBSD host), added Ada to the list in
> --enable-languages.
>
> I'm currently stumbling on the gnat* not being installed (there are a
> lot of messages like "install: gnatchop: No such file or directory"
> and even a "You must first build the GNAT library: make gnatlib").

Just in case anyone is interested in following up that particular issue,
I have just solved it. It turns out that all devkitARM patches for
gcc-4.8.2 apply flawlessly on gcc-4.9.0. So I bumped up gcc version and
apply avr-gnat patches on top of devkitARM patches, and the build
succeeded.

I will try playing with it in a few days (at least to test whether it
actually manages to build stuff), but I can provide the current patch if
anyone is interested.


Natasha


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-12 13:52                   ` Natasha Kerensikova
  2014-10-12 14:40                     ` Luke A. Guest
  2014-10-12 20:09                     ` Natasha Kerensikova
@ 2014-10-12 23:18                     ` Lucretia
  2014-10-15  9:46                       ` Brian Drummond
  2 siblings, 1 reply; 75+ messages in thread
From: Lucretia @ 2014-10-12 23:18 UTC (permalink / raw)


On Sunday, 12 October 2014 14:52:04 UTC+1, Natasha Kerensikova  wrote:
> Hello,
> 
> On 2014-10-12, Luke A  Guest wrote:
> 
> > I wouldn't use that patch. When I get home I'll explain it and why you
> > don't want to use it and I'll show you a better way.
> 
> I'm looking forward to it.

Right, this is all from memory and I'll be referencing this https://github.com/Lucretia/tamp/blob/master/thirdparty/patches/gcc-4.6.1/gcc-4.6.1.diff file.

In the adaint.c file, I'm essentially making various functions available to the runtime for targets where __arm__ and __ELF__ preprocessor symbols are defined. This is so the runtime will link properly. I'm also returning default valus where they don't exist.

In gcc-interface/Makefile.in I add a ifdef block to check if the target we want is arm-eabi-elf and if so, define what runtime packages are used in building the tools, including the all important system.ads. In this block I mention that TOOLS_TARGET_PAIRS is mentioned within that file, but not used. This is a lack of cleanup from the gcc guys when they moved the building of the runtime to gcc-x.x.x/gnattools directory - and yeah, it's really confusing that it's still there.

Provided an entire mlib-tgt-specific-bare.adb which isn't required anymore as there is a specific version for bare metal runtimes now included in FSF GCC sources. This is the mlib-tgt-specific-xi.adb file.

Need to add system-bare-armel.ads, which is just an edit of one of the other system-*.ads files.

As mentioned above, gnattools/configure, is where the TOOLS_TARGET_PAIRS are now defined, so I added a case selection for arm-eabi-elf, this then tells teh configure script which mlib-tgt-specific-* file to use to build the gnat tools. This file defines whether you have dynamic linking for example, for bare metal compilers, static is all you get and this is what the *xi* specific package provides. Repeated for the .ac files.

The above provides a way to build that specific target without messing too much with the build infrastructure. This also builds a runtime, which is completely pointless and will never be used. This is not the way Rolf does it for AVR and subsequently Brian Drummond for MSP430, see the thread here https://gcc.gnu.org/ml/gcc/2014-01/msg00139.html and this is because they break the build by removing the dependency of libada on gnattools from the main configure script.

The idea really is to be able to turn off the build of the runtime when the target is something like *-elf or *-coff where there is no OS and therefore no libc. My last version (and this almost works cleanly) is referenced from here https://gcc.gnu.org/ml/gcc/2014-02/msg00205.html (finally found it!)

In that set of patches, I added the gnattools/configure patch like before but generalised for targets that are matched by "*-*-elf* | *-*-eabi*" and point to the mlib-tgt-specific-xi.adb.

Added a new flag to the main configure script --enable-cross-gnattools which essentially does what the AVR/MSP hack does, but in a non-destructive way, in other words, you can still build a normal hosted compiler with this patched source (never tested) as well a cross compiler with no rts but with gnattools.

That's all there was to those patches. Easy. You just need to supply your own RTS which you compile yourself, see tamp for a gpr based one. Also, see the above link on that last patch as I explain that for some reason you cannot build cleanly, for some reason the build stops, you have to clear a stamp file then restart, it's fiddly, but I'd like to get it to a point where it works cleanly and can be submitted back to FSF for inclusion. If anyone knows configure scripts better than me, can you apply it and check it to see what I've missing?

Thanks.
Luke A. Guest.


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-12 23:18                     ` Lucretia
@ 2014-10-15  9:46                       ` Brian Drummond
  2014-10-15 16:50                         ` Lucretia
  0 siblings, 1 reply; 75+ messages in thread
From: Brian Drummond @ 2014-10-15  9:46 UTC (permalink / raw)


On Sun, 12 Oct 2014 16:18:22 -0700, Lucretia wrote:

> On Sunday, 12 October 2014 14:52:04 UTC+1, Natasha Kerensikova  wrote:
>> Hello,
>> 
>> On 2014-10-12, Luke A  Guest wrote:
>> 
>> > I wouldn't use that patch. When I get home I'll explain it and why
>> > you don't want to use it and I'll show you a better way.
>> 
>> I'm looking forward to it.
> 
> Right, this is all from memory and I'll be referencing this
> https://github.com/Lucretia/tamp/blob/master/thirdparty/patches/
gcc-4.6.1/gcc-4.6.1.diff
> file.

Sorry I haven't got time to go through this in detail at th emoment - but 
I just wanted to say, this is good stuff!

> The above provides a way to build that specific target without messing
> too much with the build infrastructure. This also builds a runtime,
> which is completely pointless and will never be used. This is not the
> way Rolf does it for AVR and subsequently Brian Drummond for MSP430, see
> the thread here https://gcc.gnu.org/ml/gcc/2014-01/msg00139.html and
> this is because they break the build by removing the dependency of
> libada on gnattools from the main configure script.

Hmmm, the intent was to remove the dependency of gnattools on libada 
rather than the reverse : I need to build gnattools even when libada is 
not being built. Did I get that wrong way round?

It's true that having added that patch, that source tree is broken as far 
as building native gcc and that's not ideal. I'll have to think about 
your solution... alas, not today.

Thanks,
- Brian

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-12 10:56               ` Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?] Natasha Kerensikova
  2014-10-12 11:40                 ` Simon Clubley
  2014-10-12 13:25                 ` Luke A. Guest
@ 2014-10-15  9:58                 ` Brian Drummond
  2014-10-15 10:32                   ` Natasha Kerensikova
  2 siblings, 1 reply; 75+ messages in thread
From: Brian Drummond @ 2014-10-15  9:58 UTC (permalink / raw)


On Sun, 12 Oct 2014 10:56:07 +0000, Natasha Kerensikova wrote:

> Hello,
> 
> 
> On the other hand, how wide is the availability of
> LLVM-to-embedded-target back-end? It's not much of a progress if C and
> Ada are equal at "limited to desktop targets" point.

I believe LLVM has narrower coverage than gcc, but still quite 
reasonable. The MSP430 backend is news to me! 

Of course the mere existence of a backend doesn't necessarily mean it'll 
work seamlessly with less mainstream front ends (but probably more 
seamlessly than in gcc).

> The reason why I'm asking, is I'm stilling working on updating gela and
> building on it a RTS-limited LLVM-based Ada 95 compiler seems realistic
> (albeit far away down the road).

How is that coming along?

For me, Gela built successfully, and I started to look at connecting it 
to an intermediate representation which already has translators to gcc 
and experimentally, LLVM (and more, specifically a JIT targetting x86, 
which would make a very lightweight compiler). 

But got no further, so far. The existing translator from a semanticised 
tree into this IR would serve as a pattern, but it's quite a large chunk 
of code...

- Brian

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-15  9:58                 ` Brian Drummond
@ 2014-10-15 10:32                   ` Natasha Kerensikova
  2014-10-16 12:04                     ` Brian Drummond
  0 siblings, 1 reply; 75+ messages in thread
From: Natasha Kerensikova @ 2014-10-15 10:32 UTC (permalink / raw)


Hello,

On 2014-10-15, Brian Drummond <brian3@shapes.demon.co.uk> wrote:
> On Sun, 12 Oct 2014 10:56:07 +0000, Natasha Kerensikova wrote:
>> The reason why I'm asking, is I'm stilling working on updating gela and
>> building on it a RTS-limited LLVM-based Ada 95 compiler seems realistic
>> (albeit far away down the road).
>
> How is that coming along?

I don't have much time to put into it, so it is indeed coming along but
very slowly.

From what I gathered, Gela doesn't even fully cover Ada 95, so my first
intermediate goal is turning into a fully-featured Ada 95 ASIS provider
(which is what I meant with "updating" in the quote above).

To reach that intermediate goal, I'm using AdaControl as an ASIS test
suite, so the very first step is plugging Gela into AdaControl. That
plugging is what I'm currently dealing with, and it feels almost
complete.

At some point, hopefully soonish, a Gela-enabled AdaControl and a
work-in-progress Gela repository will be made available, so that anyone
interested can contribute.

> For me, Gela built successfully, and I started to look at connecting it 
> to an intermediate representation which already has translators to gcc 
> and experimentally, LLVM (and more, specifically a JIT targetting x86, 
> which would make a very lightweight compiler). 
>
> But got no further, so far. The existing translator from a semanticised 
> tree into this IR would serve as a pattern, but it's quite a large chunk 
> of code...

As explained above, I haven't looked at the code generation part yet.

Basically building a compiler is an awefully large task, and it would
still feel daunting to me even if everybody here gathered to magically
work on it without any communication/coordination overhead.

So my worst fear is putting a lot of effort into it and give up before
anything useful comes out of it. To prevent such a waste, I'm choosing
the path towards the closest meaningful goal.
It turns out that making Gela useful as an AdaControl backed is a useful
achievement in itself, but it looks small enough to be achievable.

When/if it is achieved, I hope I will have enough knowledge about Gela
to asses how realistic it is to base code generation on it, and if it
is, start doing it.
For example, I recently realized that Standard package cannot be written
in Ada (think of the declaration of Wide_Character type), it probably
has to involve some compiler magic, but I don't know yet how compatible
with Gela architecture such a magic is.

And once basic code generation is operation, only then would I starting
looking at RTS issues, because once again, and RTS-less Ada compiler has
some use, while RTS fragments without a good compiler is useless. I just
wonder whether a significant part of the RTS can be targeting LLVM
itself, and thereby be automatically portable across all backend
targets. That would be a very nice perk for the project.

However please note that this is only a personal strategic choice, I
won't blame or criticize anybody starting to look at code generation
now, I'm just explaining the rationale behind my not looking at it yet.


Natasha

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-15  9:46                       ` Brian Drummond
@ 2014-10-15 16:50                         ` Lucretia
  0 siblings, 0 replies; 75+ messages in thread
From: Lucretia @ 2014-10-15 16:50 UTC (permalink / raw)


On Wednesday, 15 October 2014 10:46:55 UTC+1, Brian Drummond  wrote:

> > which is completely pointless and will never be used. This is not the
> > way Rolf does it for AVR and subsequently Brian Drummond for MSP430, see
> > the thread here https://gcc.gnu.org/ml/gcc/2014-01/msg00139.html and
> > this is because they break the build by removing the dependency of
> > libada on gnattools from the main configure script.
> 
> Hmmm, the intent was to remove the dependency of gnattools on libada 
> rather than the reverse : I need to build gnattools even when libada is 
> not being built. Did I get that wrong way round?

If you --disable-libada, it disables gnattools as well, which is of no use to us - I don't know why it's there at all tbh.

What my other patch does is, when enabled, is allow you to build the gnattools during a make all-gcc without the need for building libada. Which is essentially what yours does, but mine does not break native. But read the comments in that email as I outline where it failed for me and I don't know why I had to delete a timestamp to get it to work. So, I need someone else to look at it and see if they can see the problem, then a proper full patch can be submitted.

Luke.


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-15 10:32                   ` Natasha Kerensikova
@ 2014-10-16 12:04                     ` Brian Drummond
  0 siblings, 0 replies; 75+ messages in thread
From: Brian Drummond @ 2014-10-16 12:04 UTC (permalink / raw)


On Wed, 15 Oct 2014 10:32:32 +0000, Natasha Kerensikova wrote:

> Hello,
> 
> On 2014-10-15, Brian Drummond <brian3@shapes.demon.co.uk> wrote:
>> On Sun, 12 Oct 2014 10:56:07 +0000, Natasha Kerensikova wrote:
>>> The reason why I'm asking, is I'm stilling working on updating gela
>>> and building on it a RTS-limited LLVM-based Ada 95 compiler seems
>>> realistic (albeit far away down the road).
>>
>> How is that coming along?
> 
> I don't have much time to put into it, so it is indeed coming along but
> very slowly.
> 
> From what I gathered, Gela doesn't even fully cover Ada 95, so my first
> intermediate goal is turning into a fully-featured Ada 95 ASIS provider
> (which is what I meant with "updating" in the quote above).

I thought it was pretty close. But completing Ada-95 coverage would be a 
necessary prerequisite (if only from learning how) to extending it to 
Ada-2005 coverage, so ... has very good longer term potential.

> To reach that intermediate goal, I'm using AdaControl as an ASIS test
> suite, so the very first step is plugging Gela into AdaControl. That
> plugging is what I'm currently dealing with, and it feels almost
> complete.

Now that could be an excellent project! As ASIS is only a specification, 
and implementations differ, how the differences affect a sizeable 
application *using* Asis, seems like fairly unexplored territory. 
I look forward to seeing it when it's ready, and learning from it. And if 
it "feels almost complete" that's encouraging, that the variations 
between at least two ASIS implementations are manageable.

>> For me, Gela built successfully, and I started to look at connecting it
>> to an intermediate representation which already has translators to gcc
>> and experimentally, LLVM (and more, specifically a JIT targetting x86,
>> which would make a very lightweight compiler).

This is part of GHDL, of course, and I expect to plunge back into GHDL 
which is overdue for another release. But along the way I want to look 
into the possibility of repurposing its IR language as a back end for 
Gela...

> Basically building a compiler is an awefully large task, and it would
> still feel daunting to me even if everybody here gathered to magically
> work on it without any communication/coordination overhead.

I don't pretend to have answers to that!

> For example, I recently realized that Standard package cannot be written
> in Ada (think of the declaration of Wide_Character type), it probably
> has to involve some compiler magic, but I don't know yet how compatible
> with Gela architecture such a magic is.

GHDL has possibly similar problems with its Standard package, and there 
is indeed some compiler magic involved. I can't remember the details 
offhand but I believe it involves the translation phase onwards mimicking 
the process of compilation so Gela may never encounter actual "standard.ad
[sb]" source, and I believe an Ada compiler could do likewise.

Please say a little more about the problems you see with Wide_Character, 
it's not obvious to me what they are.

> And once basic code generation is operation, only then would I starting
> looking at RTS issues, because once again, and RTS-less Ada compiler has
> some use, while RTS fragments without a good compiler is useless. I just
> wonder whether a significant part of the RTS can be targeting LLVM
> itself, and thereby be automatically portable across all backend
> targets. That would be a very nice perk for the project.

RTS is fairly separable from the compiler, and somewhat divisible into 
general and target-specific parts. When I moved the AVR-Ada minimal RTS 
(no tasking, basic exceptions) to MSP430 I found most of it transferred 
wholesale; possibly 40% of the files needed some change. I didn't attempt 
to divide it into target-dependent and target-independent parts. Yet...

One disappointment in Gnat is they don't separate the RTS sources from 
the compiler. That would make the process of plugging in a different RTS 
easier to understand. I learned a lot from the AVR-Ada project, and 
Luke's Tamp is another good starting point, but there will be more to 
learn as the RTS effort rolls on to encompass tasking.

So there may be no need to specifically target LLVM with the RTS (but 
when we get to tasking, priorities, scheduling there may be advantages in 
doing so.)

But there seem to be a bunch of people looking at RTS for ARM, possibly 
aiming at Ravenscar tasking, so that may happen independently of compiler 
work.

> However please note that this is only a personal strategic choice, I
> won't blame or criticize anybody starting to look at code generation
> now, I'm just explaining the rationale behind my not looking at it yet.

Agreed - but it's good to discuss and at least not duplicate effort! Not 
that it would be a problem if we did duplicate - at this stage anything I 
do on code generation will be throwaway junk, just to teach myself about 
the process. 

- Brian

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-12 20:09                     ` Natasha Kerensikova
@ 2014-10-19 14:34                       ` Natasha Kerensikova
  2014-10-19 15:48                         ` Luke A. Guest
  0 siblings, 1 reply; 75+ messages in thread
From: Natasha Kerensikova @ 2014-10-19 14:34 UTC (permalink / raw)


On 2014-10-12, Natasha Kerensikova <lithiumcat@instinctive.eu> wrote:
> On 2014-10-12, Natasha Kerensikova <lithiumcat@instinctive.eu> wrote:
>> FWIW, I have already started with devkitARM build scripts (after some
>> tweaking to make it work on a FreeBSD host), added Ada to the list in
>> --enable-languages.
>>
>> I'm currently stumbling on the gnat* not being installed (there are a
>> lot of messages like "install: gnatchop: No such file or directory"
>> and even a "You must first build the GNAT library: make gnatlib").
>
> Just in case anyone is interested in following up that particular issue,
> I have just solved it. It turns out that all devkitARM patches for
> gcc-4.8.2 apply flawlessly on gcc-4.9.0. So I bumped up gcc version and
> apply avr-gnat patches on top of devkitARM patches, and the build
> succeeded.
>
> I will try playing with it in a few days (at least to test whether it
> actually manages to build stuff), but I can provide the current patch if
> anyone is interested.

Still following up, I managed to compile a sort of « C in Ada » program
on the DS, where a package exports a "main" procedure with C
convention, and imports a lot of libnds C primitives to setup a console
and read the keypad scan. All of this without a RTS and without
Interfaces.C (C types are declared in the test body instead).

As before, I can make patches and build instructions available, if
anyone is interested.

I had to stop because of hardware issue in my microSD card and/or
microSD-on-USB reader, I have to replace them before continuing tests on
real hardware. However in the meantime I guess I can try moving the
linking from C-like command line to a gpr, or try to get some RTS
features, or at least a system-wide Interfaces.C.


Natasha

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-19 14:34                       ` Natasha Kerensikova
@ 2014-10-19 15:48                         ` Luke A. Guest
  2014-10-23  8:22                           ` Natasha Kerensikova
  0 siblings, 1 reply; 75+ messages in thread
From: Luke A. Guest @ 2014-10-19 15:48 UTC (permalink / raw)


Natasha Kerensikova <lithiumcat@instinctive.eu> wrote:
> As before, I can make patches and build instructions available, if
> anyone is interested.

Put it in github.

Like.


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?]
  2014-10-19 15:48                         ` Luke A. Guest
@ 2014-10-23  8:22                           ` Natasha Kerensikova
  0 siblings, 0 replies; 75+ messages in thread
From: Natasha Kerensikova @ 2014-10-23  8:22 UTC (permalink / raw)


On 2014-10-19, Luke A  Guest <laguest@archeia.com> wrote:
> Natasha Kerensikova <lithiumcat@instinctive.eu> wrote:
>> As before, I can make patches and build instructions available, if
>> anyone is interested.
>
> Put it in github.
>
> Like.

In case you missed the github notification, or if anyone else is
interested, the current state of my art is available there:

https://github.com/faelys/devkitarm-ada

Going forward, I will study the RTS from avr-ada, and the wiki page
at http://wiki.osdev.org/Ada_Bare_bones to try and make the smallest
possible RTS that allows compiling and linking with cross-gnatmake.
Then I'll see where that rabbit hole ges ;-)


Thanks for your help,
Natasha


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-09 11:58 ` Mark Carroll
  2014-10-09 13:31   ` Simon Wright
  2014-10-09 19:06   ` Shark8
@ 2014-11-04 16:28   ` Nicholas Collin Paul de Gloucester
  2014-11-04 16:45     ` Barry Danforth
  2 siblings, 1 reply; 75+ messages in thread
From: Nicholas Collin Paul de Gloucester @ 2014-11-04 16:28 UTC (permalink / raw)


On 9th October 2014, Mark Carroll sent:
|------------------------------------------------------------------------|
|"[. . .]                                                                |
|                                                                        |
|Ada does look good but, as far as I can tell, if I ever want to use it  |
|for any software not to be distributed under the GPL, I'm faced with    |
|dealing with a subscription model (with goodness knows what guarantees  |
|of ongoing affordability) negotiated with a private corporation, so     |
|personally I'll probably actually not invest any more time into learning|
|about Ada and disappear from here and use something else for my         |
|projects. I wish you guys all the best though: I am glad to have dropped|
|in and seen that your community is even more alive and well than I'd    |
|guessed, so you're clearly quite attractive for some!                   |
|                                                                        |
|-- Mark"                                                                |
|------------------------------------------------------------------------|

There are more compilers than just GNAT compilers.


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-11-04 16:28   ` Nicholas Collin Paul de Gloucester
@ 2014-11-04 16:45     ` Barry Danforth
  2014-11-04 17:18       ` David Botton
  0 siblings, 1 reply; 75+ messages in thread
From: Barry Danforth @ 2014-11-04 16:45 UTC (permalink / raw)


> There are more compilers than just GNAT compilers.

There are but not for a guy who isn't already in business selling software
written in Ada.

Janus Ada /RR Software pricing looked acceptable for a hobbyist last time I
looked (a few years ago) but that's it as far as I know. Government contract
pricing and severe attitude problems at vendors make the price of entry for
Ada higher than just about anything else. Greenhills laughed me off the
phone when I called in 2008 asking if they had hobbyist or single developer
licenses. They wouldn't even tell me how much their offering cost. This kind
of behavior really says a lot about the market.

The RR web site suggests nothing has happened since Ada 95 and most people
are interested in something a little newer... if not you can still find
copies of 3.15p and won't catch gpl-bola from it.

Barry

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-11-04 16:45     ` Barry Danforth
@ 2014-11-04 17:18       ` David Botton
  0 siblings, 0 replies; 75+ messages in thread
From: David Botton @ 2014-11-04 17:18 UTC (permalink / raw)


On Tuesday, November 4, 2014 11:45:59 AM UTC-5, Barry Danforth wrote:
> > There are more compilers than just GNAT compilers.
> 

Perhaps he meant than GNAT compilers from AdaCore. The FSF version does not have a GPL runtime to encumber your code.

So there are other options.

David Botton


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-10-06 22:42 Newcomers to comp.lang.ada: welcome and how did you end up here ? Simon Clubley
                   ` (6 preceding siblings ...)
  2014-10-10 16:25 ` Stribor40
@ 2014-11-08 23:51 ` HerrDoktor
  2014-11-09  7:44   ` Karl Stromberg
  7 siblings, 1 reply; 75+ messages in thread
From: HerrDoktor @ 2014-11-08 23:51 UTC (permalink / raw)


I became interested in Ada a few years ago. I used Modula 2 in the 80s, 
made and sold a few toolbox library even, then somehow I got on the 
C/C++ path and was drifting with the flow over the years.

More and more I got the feeling that this development was going the 
wrong way, everything there was becoming more and more complicated and I 
started to remember the good old days, when we made powerful programs 
without having to deal with multiple levels of templates and multiple 
inheritance and whatever makes live hell these days, and I started to 
look around if there wasn't a language that was a bit more like Modula 2 
and still actively supported by compiler vendors.

I am also not a big fan of OO techniques and part of what got me 
interested in Ada is that it is easier or perhaps more natural there, to 
restrict OO programming to the absolute minimum and program more in an 
imperative style which, in my view is more natural to the environment 
we're working with (a machine with memory that contains instructions and 
data and an ALU). I realize that my views are contrary to mostly all 
language that are en vogue today, but I think programming can become 
less complicated by looking backwards, not "forward" and using proven 
techniques like Structured Development.

Anyhow, I was able to write a fairly nice debug monitor system in Ada 
after reading Barne's book and I was relatively impressed that Ada 
enabled me to write a non trivial program pretty easy as a newcommer to 
the language. Also, contrary to my experiences in C++, the program was 
stable pretty soon without crashing with new errors long after I 
finished it, which also impressed me.

Right now, I am stuck with C++ but I intend to use Ada more and more for 
tools if possible. My next project will be a simple Text User Interface. 
I used Ncurses for my monitor program, but I don't like the fact that it 
is pretty complex to compile on Windows with MinGW and GPS installed 
parallel. Also, it seems a bit slow to me with regard to output, so I 
thought this would be a good pet project to take the next step with Ada.



---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-11-08 23:51 ` HerrDoktor
@ 2014-11-09  7:44   ` Karl Stromberg
  2014-11-09  9:28     ` HerrDoktor
  2014-11-09  9:42     ` HerrDoktor
  0 siblings, 2 replies; 75+ messages in thread
From: Karl Stromberg @ 2014-11-09  7:44 UTC (permalink / raw)


On 2014-11-08, HerrDoktor <herrdoktor@fumanchu.com> wrote:
> I became interested in Ada a few years ago. I used Modula 2 in the 80s, 
> made and sold a few toolbox library even, then somehow I got on the 
> C/C++ path and was drifting with the flow over the years.
>
> More and more I got the feeling that this development was going the 
> wrong way, everything there was becoming more and more complicated and I 
> started to remember the good old days, when we made powerful programs 
> without having to deal with multiple levels of templates and multiple 
> inheritance and whatever makes live hell these days, and I started to 
> look around if there wasn't a language that was a bit more like Modula 2 
> and still actively supported by compiler vendors.

There is active projects for Modula 2 and Modula 3. Did you want Modula 2
or just something like Modula 2?

> I am also not a big fan of OO techniques and part of what got me 
> interested in Ada is that it is easier or perhaps more natural there, to 
> restrict OO programming to the absolute minimum and program more in an 
> imperative style which, in my view is more natural to the environment 
> we're working with (a machine with memory that contains instructions and 
> data and an ALU). I realize that my views are contrary to mostly all 
> language that are en vogue today, but I think programming can become 
> less complicated by looking backwards, not "forward" and using proven 
> techniques like Structured Development.

Agree. Fortran is a good example of this. Starting with F90 and continuing
they do a much better than average job of speccing out the language and
adding things that don't break old code, so everything you used to know
still works. And they add features in sane and sensible ways to give you OO
and many modern features you can choose to use or not use without sharp edges.

> Anyhow, I was able to write a fairly nice debug monitor system in Ada 
> after reading Barne's book and I was relatively impressed that Ada 
> enabled me to write a non trivial program pretty easy as a newcommer to 
> the language. Also, contrary to my experiences in C++, the program was 
> stable pretty soon without crashing with new errors long after I 
> finished it, which also impressed me.

Welcome to almost anything not C/C++ or based on it.

> Right now, I am stuck with C++ but I intend to use Ada more and more for 
> tools if possible. My next project will be a simple Text User Interface. 
> I used Ncurses for my monitor program, but I don't like the fact that it 
> is pretty complex to compile on Windows with MinGW and GPS installed 
> parallel. Also, it seems a bit slow to me with regard to output, so I 
> thought this would be a good pet project to take the next step with Ada.

A Canadian guy put out something like this many years ago. See here:

http://www.pegasoft.ca/main.html

Overall an interesting page with some nice Ada stuff for the "regular" guy
like me.

Karl Peter


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-11-09  7:44   ` Karl Stromberg
@ 2014-11-09  9:28     ` HerrDoktor
  2014-11-09  9:42     ` HerrDoktor
  1 sibling, 0 replies; 75+ messages in thread
From: HerrDoktor @ 2014-11-09  9:28 UTC (permalink / raw)



> A Canadian guy put out something like this many years ago. See here:
>
> http://www.pegasoft.ca/main.html

 > A Canadian guy put out something like this many years ago. See here:
 >
 > http://www.pegasoft.ca/main.html
 >
Thanks, a nice page. However, my main problem is the make procedure for 
NCurses. I should add that I am not  linux guy, all my life I worked on 
Windows. I'm trying to get into Linux more but I am far from 
experienced. So I had a hard time getting NCurses to run with GPS, first 
I had to learn the hard way that Cygwin won't work at all and that I 
needed MinGW, then I had my fair share of problems with getting the 
Adacore GNAT compiler to run with the NCurses make files instead of the 
Gnat version that comes with MinGW and finally I had to alter the 
NCurses sourcefiles wince they would not compile on Windows without 
changes :(
I am under the impressin that the Ada tools world is mostly focused on 
Linux and not so much on Windows, which is probably why there is no 64 
bit version of Gnat for Windows.
So I'm actually looking into a pure Ada solution for a Text IO library. 
I don't need too much fancy stuff, so I figured, I start by writing my 
own text tool library and then rewrite my Debug Monitor on top of that.
There is always time later to add more fancy IO controls.





---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com


^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-11-09  7:44   ` Karl Stromberg
  2014-11-09  9:28     ` HerrDoktor
@ 2014-11-09  9:42     ` HerrDoktor
  2014-11-09  9:59       ` Karl Stromberg
  1 sibling, 1 reply; 75+ messages in thread
From: HerrDoktor @ 2014-11-09  9:42 UTC (permalink / raw)


>
> There is active projects for Modula 2 and Modula 3. Did you want Modula 2
> or just something like Modula 2?

Actually more something like Modula 2 but I know of course that the 
compiler development for Modula 2 is dead. I guess I am wha'ts called 
these days an Indy game developer and I need something that is reliable 
for the foreseeable future and I can't afford to throw my lot in with 
something like Modula 2. Ada is the only viable alternative to my 
knowledge. Plus I really like the built in multitasking feature.



---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-11-09  9:42     ` HerrDoktor
@ 2014-11-09  9:59       ` Karl Stromberg
  2014-11-09 10:25         ` HerrDoktor
  2014-11-09 16:29         ` David Botton
  0 siblings, 2 replies; 75+ messages in thread
From: Karl Stromberg @ 2014-11-09  9:59 UTC (permalink / raw)


On 2014-11-09, HerrDoktor <herrdoktor@fumanchu.com> wrote:
>>
>> There is active projects for Modula 2 and Modula 3. Did you want Modula 2
>> or just something like Modula 2?
>
> Actually more something like Modula 2 but I know of course that the 
> compiler development for Modula 2 is dead.

No. Compiler development for Modula 2 is not dead. As I say there is active
projects for this including gnu Modula 2. See gm2.org. And you can look to
Modula 3 for active development too. http://www.modula3.org/

If you mean language development for Modula 2 is dead I'm also not sure of
it. I saw some projects expanding the language.

> I guess I am wha'ts called these days an Indy game developer and I need
> something that is reliable for the foreseeable future and I can't afford
> to throw my lot in with something like Modula 2. Ada is the only viable
> alternative to my knowledge. Plus I really like the built in multitasking
> feature.

Ada market today is essentially owned by one player. If Adacore will stop passing
their work to gcc developers there is no more free in beer Ada compiler.

There is no way to guarantee what is reliable for the future unless you
control all of it. gcc or Adacore can make license term changes unacceptable
for you. They can stop developing. Nothing is assured. Even if you pay they
can always go out of business. It happened before.

Karl Peter

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-11-09  9:59       ` Karl Stromberg
@ 2014-11-09 10:25         ` HerrDoktor
  2014-11-09 16:31           ` David Botton
  2014-11-09 16:29         ` David Botton
  1 sibling, 1 reply; 75+ messages in thread
From: HerrDoktor @ 2014-11-09 10:25 UTC (permalink / raw)



> Ada market today is essentially owned by one player. If Adacore will stop passing
> their work to gcc developers there is no more free in beer Ada compiler.
>
> There is no way to guarantee what is reliable for the future unless you
> control all of it. gcc or Adacore can make license term changes unacceptable
> for you. They can stop developing. Nothing is assured. Even if you pay they
> can always go out of business. It happened before.
>
> Karl Peter
>
True that, but from what I read, they were originally financed by the US 
Air force and are obliged to release their compiler to the public 
because of the funding they received.
Of course this won't help should they go out of business, but I was 
under the impression the GPL version was something they had to do.
I wouldn't mind paying for a compiler either, from what I hear it is in 
the range of several 1000 $$ but it may be worth it to get the support 
contract with them



---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-11-09  9:59       ` Karl Stromberg
  2014-11-09 10:25         ` HerrDoktor
@ 2014-11-09 16:29         ` David Botton
  1 sibling, 0 replies; 75+ messages in thread
From: David Botton @ 2014-11-09 16:29 UTC (permalink / raw)


> Ada market today is essentially owned by one player. If Adacore will stop passing
> their work to gcc developers there is no more free in beer Ada compiler.

Not true, they are not in a position to remove the GMGPL or GPL from their software completely even when giving the false impression they could.

They do not distribute their PRO version and I wouldn't ask their customers to give out a copy, however every person in possession of a copy has the full right to give away or even sell what they have, source, bin, everything.

So even though only one vendor customer positions are very secure and so is the future of the compiler regardless of AdaCore.


> There is no way to guarantee what is reliable for the future unless you
> control all of it. gcc or Adacore can make license term changes unacceptable
> for you.

They do so only to the capacity they think they can get away with it by putting out a pure "GPL" version. I question if in fact they have such a right to encumber the runtime, but as I pointed out a above is irrelevant since (besides that they themselves periodically give their run time to the FSF, who actually has the copyright , for distribution) any customer is secure and the community as a whole that the entire system could be taken over and managed by the community or any other enterprising individuals.

> They can stop developing. Nothing is assured. Even if you pay they
> can always go out of business. It happened before.

They do a great job so no one challanges it, but if they stopped others would step in.

I would say that the compiler insecurity is the last issue Ada has to worry about.

(Easy to find GMGPL runtimes that are up to date, is real, but even that surmountable without having to ask someone to give you a copy).

David Botton

^ permalink raw reply	[flat|nested] 75+ messages in thread

* Re: Newcomers to comp.lang.ada: welcome and how did you end up here ?
  2014-11-09 10:25         ` HerrDoktor
@ 2014-11-09 16:31           ` David Botton
  0 siblings, 0 replies; 75+ messages in thread
From: David Botton @ 2014-11-09 16:31 UTC (permalink / raw)



> True that, but from what I read, they were originally financed by the US 
> Air force and are obliged to release their compiler to the public 
> because of the funding they received.

Correct and they didn't even do all the runtime just most.

> Of course this won't help should they go out of business,

Sure it does, since if they did you are still no on the hook.

> but I was 
> under the impression the GPL version was something they had to do.

Yes both GMGPL runtimes and GPL they are basically compelled by their code built on other such code.

> I wouldn't mind paying for a compiler either, from what I hear it is in 
> the range of several 1000 $$ but it may be worth it to get the support 
> contract with them

Having been on both sides of the table, well worth the money.

David Botton


^ permalink raw reply	[flat|nested] 75+ messages in thread

end of thread, other threads:[~2014-11-09 16:31 UTC | newest]

Thread overview: 75+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-06 22:42 Newcomers to comp.lang.ada: welcome and how did you end up here ? Simon Clubley
2014-10-06 23:18 ` brbarkstrom
2014-10-07  8:10 ` Gour
2014-10-07 10:49   ` Luke A. Guest
2014-10-08  7:23     ` Gour
2014-10-08  8:35       ` Brian Drummond
2014-10-08  9:15         ` Simon Wright
2014-10-08 19:14           ` -fdump-ada-spec (was: Newcomers to comp.lang.ada: welcome and how did you end up here ?) Ludovic Brenta
2014-10-08 19:48             ` -fdump-ada-spec Simon Wright
2014-10-08  9:17         ` Newcomers to comp.lang.ada: welcome and how did you end up here ? Gour
2014-10-08 11:23       ` Dmitry A. Kazakov
2014-10-10  9:18         ` Gour
2014-10-08 13:33       ` Luke A. Guest
2014-10-07 20:06 ` Stribor40
2014-10-07 20:21   ` Jeffrey Carter
2014-10-07 21:28     ` David Botton
2014-10-09  5:57       ` Dirk Craeynest
2014-10-10  0:58     ` rriehle
2014-10-08  7:08   ` Dmitry A. Kazakov
2014-10-09 11:58 ` Mark Carroll
2014-10-09 13:31   ` Simon Wright
2014-10-09 18:04     ` Brian Drummond
2014-10-09 20:02       ` Dmitry A. Kazakov
2014-10-09 18:35     ` Mark Carroll
2014-10-09 21:08       ` Simon Clubley
2014-10-10  7:28         ` Natasha Kerensikova
2014-10-10  9:07           ` Mark Carroll
2014-10-10  9:33             ` Björn Lundin
2014-10-10 11:41               ` Natasha Kerensikova
2014-10-10 13:35                 ` Björn Lundin
2014-10-10 17:10                   ` Natasha Kerensikova
2014-10-10 18:22                     ` Luke A. Guest
2014-10-10 14:51                 ` Lucretia
2014-10-10 14:28           ` Lucretia
2014-10-10 19:47           ` Simon Clubley
2014-10-10 21:38             ` Luke A. Guest
2014-10-12 10:56               ` Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?] Natasha Kerensikova
2014-10-12 11:40                 ` Simon Clubley
2014-10-12 12:27                   ` Peter Chapin
2014-10-12 19:42                     ` Simon Clubley
2014-10-12 13:25                 ` Luke A. Guest
2014-10-12 13:52                   ` Natasha Kerensikova
2014-10-12 14:40                     ` Luke A. Guest
2014-10-12 20:09                     ` Natasha Kerensikova
2014-10-19 14:34                       ` Natasha Kerensikova
2014-10-19 15:48                         ` Luke A. Guest
2014-10-23  8:22                           ` Natasha Kerensikova
2014-10-12 23:18                     ` Lucretia
2014-10-15  9:46                       ` Brian Drummond
2014-10-15 16:50                         ` Lucretia
2014-10-15  9:58                 ` Brian Drummond
2014-10-15 10:32                   ` Natasha Kerensikova
2014-10-16 12:04                     ` Brian Drummond
2014-10-11 10:53             ` Newcomers to comp.lang.ada: welcome and how did you end up here ? Brian Drummond
2014-10-12  1:33         ` David Botton
2014-10-12  1:25       ` David Botton
2014-10-12 14:40         ` Luke A. Guest
2014-10-09 19:06   ` Shark8
2014-11-04 16:28   ` Nicholas Collin Paul de Gloucester
2014-11-04 16:45     ` Barry Danforth
2014-11-04 17:18       ` David Botton
2014-10-09 12:50 ` john
2014-10-09 21:08 ` gdotone
2014-10-10 16:25 ` Stribor40
2014-10-10 17:09   ` Luke A. Guest
2014-10-10 17:59     ` Stribor40
2014-10-10 18:22       ` Luke A. Guest
2014-11-08 23:51 ` HerrDoktor
2014-11-09  7:44   ` Karl Stromberg
2014-11-09  9:28     ` HerrDoktor
2014-11-09  9:42     ` HerrDoktor
2014-11-09  9:59       ` Karl Stromberg
2014-11-09 10:25         ` HerrDoktor
2014-11-09 16:31           ` David Botton
2014-11-09 16:29         ` David Botton

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