comp.lang.ada
 help / color / mirror / Atom feed
From: Shark8 <onewingedshark@gmail.com>
Subject: Re: New tool "gprexec", basically "make with project file"
Date: Tue, 15 Jan 2019 08:41:01 -0800 (PST)
Date: 2019-01-15T08:41:01-08:00	[thread overview]
Message-ID: <420cf9d0-fec9-4ab5-b5a8-ce8dced55a0d@googlegroups.com> (raw)
In-Reply-To: <09955674-4095-410d-a688-1ed463ea6b2d@googlegroups.com>

On Monday, January 14, 2019 at 5:49:16 PM UTC-7, VM Celier wrote:
> > Some of the ideas behind GPR are good, but if we're being honest its tendency to be "stringly-typed" is annoying given its obvious designed similarity to Ada
> 
> It is true that the syntax of the project language is similar to the one of Ada, but there is a big difference between the two languages:
> 
> - Ada is an executable language
> - the project language is a declarative language

This is actually less of an issue than might be thought; though some of the "fix-ups" might be a bit stifling to some. You could, for example, impose restrictions/mandatory-structure on the configuration and have all configurations be valid Ada.

> 
> You don't "execute" project files, you use it to describe a system for different tools. This is why there are almost no types in the project language because types are not really needed and they would complexify the language for no real benefit.

No, real enumerations (and attendant Ada-like case-coverage) would be excellent for providing bounded alternations of the configuration.

> 
> > -- and there are a lot of missed opportunities
> 
> Could you tell us one or two of these missed opportunities?

Given Ada's strong generic-system configurations could be described as generic parameters [esp enumerations], which the tools could use to provide bounded options in the absence of defaults.

Package PROJECT_NAME


  reply	other threads:[~2019-01-15 16:41 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-11 22:00 New tool "gprexec", basically "make with project file" VM Celier
2019-01-14 21:06 ` Shark8
2019-01-15  0:49   ` VM Celier
2019-01-15 16:41     ` Shark8 [this message]
2019-01-15 17:22       ` Shark8
replies disabled

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