• Renaissance-Ada, a toolset for legacy Ada software, made open source

    From Pierre van de Laar@21:1/5 to All on Thu Jan 27 04:32:00 2022
    Dear Members of comp.lang.ada,

    We would like to inform you that we have made Renaissance-Ada, a toolset for legacy Ada software, open source:
    https://github.com/TNO/Renaissance-Ada

    The Renaissance-Ada project builds on top of LibAdalang and includes the following functionality

    * Dependency Graph Extractor that produces a graphml file for visualization and querying with e.g. yEd and Neo4J.
    * Rejuvenation Library that allow analysis and manipulation of Ada code based on concrete patterns.
    * Rewriters_Library that enables automatic rewriting of Ada code based on concrete patterns.
    * Code Reviewer that automatically reviews Ada code based on a large list of rewrite rules.

    If you have any question about this toolset don’t hesitate to contact me!

    Yours sincerely,
    Pierre van de Laar
    Research Fellow
    TNO-ESI

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Luke A. Guest@21:1/5 to Pierre van de Laar on Thu Jan 27 12:55:22 2022
    On 27/01/2022 12:32, Pierre van de Laar wrote:
    Dear Members of comp.lang.ada,

    We would like to inform you that we have made Renaissance-Ada, a toolset for legacy Ada software, open source:
    https://github.com/TNO/Renaissance-Ada


    What does "for legacy Ada software" mean?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andreas ZEURCHER@21:1/5 to Luke A. Guest on Thu Jan 27 18:23:31 2022
    On Thursday, January 27, 2022 at 6:55:11 AM UTC-6, Luke A. Guest wrote:
    On 27/01/2022 12:32, Pierre van de Laar wrote:
    Dear Members of comp.lang.ada,

    We would like to inform you that we have made Renaissance-Ada, a toolset for legacy Ada software, open source:
    https://github.com/TNO/Renaissance-Ada

    What does "for legacy Ada software" mean?
    I would suspect that “for legacy Ada software” might be a euphemistic way of saying: doesn't support modern Ada after either Ada83 or Ada95.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Luke A. Guest@21:1/5 to Andreas ZEURCHER on Fri Jan 28 10:10:32 2022
    On 28/01/2022 02:23, Andreas ZEURCHER wrote:
    On Thursday, January 27, 2022 at 6:55:11 AM UTC-6, Luke A. Guest wrote:
    On 27/01/2022 12:32, Pierre van de Laar wrote:
    Dear Members of comp.lang.ada,

    We would like to inform you that we have made Renaissance-Ada, a toolset for legacy Ada software, open source:
    https://github.com/TNO/Renaissance-Ada

    What does "for legacy Ada software" mean?
    I would suspect that “for legacy Ada software” might be a euphemistic way of saying: doesn't support modern Ada after either Ada83 or Ada95.


    I kind of read is as, they made a toolset ages ago and have ported it to libadalang. But if it's new, why only support older Ada when you've
    based it on a newer Ada, especially a newer ada lib?

    It's weird.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Wright@21:1/5 to Luke A. Guest on Fri Jan 28 10:27:19 2022
    "Luke A. Guest" <laguest@archeia.com> writes:

    On 27/01/2022 12:32, Pierre van de Laar wrote:
    Dear Members of comp.lang.ada,
    We would like to inform you that we have made Renaissance-Ada, a
    toolset for legacy Ada software, open source:
    https://github.com/TNO/Renaissance-Ada


    What does "for legacy Ada software" mean?

    Looking at the link, it seems that it's software that has been just
    growing, to the point at which it's becoming unmaintainable. I don't see anything that says Ada83 (though software with that sort of problem is
    likely to have been around for a long time).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jesper Quorning@21:1/5 to All on Fri Jan 28 03:42:06 2022
    fredag den 28. januar 2022 kl. 03.23.32 UTC+1 skrev Andreas ZEURCHER:
    On Thursday, January 27, 2022 at 6:55:11 AM UTC-6, Luke A. Guest wrote:
    What does "for legacy Ada software" mean?
    I would suspect that “for legacy Ada software” might be a euphemistic way of saying: doesn't support modern Ada after either Ada83 or Ada95.

    The video [1] from the README tells an up-to-date Ada success story.

    [1] https://www.youtube.com/watch?v=EHrd-9wgALM

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Wright@21:1/5 to Jesper Quorning on Fri Jan 28 12:31:08 2022
    Jesper Quorning <jesper.quorning@gmail.com> writes:

    fredag den 28. januar 2022 kl. 03.23.32 UTC+1 skrev Andreas ZEURCHER:
    On Thursday, January 27, 2022 at 6:55:11 AM UTC-6, Luke A. Guest wrote:
    What does "for legacy Ada software" mean?
    I would suspect that “for legacy Ada software” might be a
    euphemistic way of saying: doesn't support modern Ada after either
    Ada83 or Ada95.

    The video [1] from the README tells an up-to-date Ada success story.

    [1] https://www.youtube.com/watch?v=EHrd-9wgALM

    Interesting!

    I found myself using a case statement rather than an if so as to avoid a
    'use type': U is an Interfaces.Unsigned_16,

    case U is
    when 1 => do one thing;
    when others => do something else;
    end case;

    which you can see being problematic if the tooling converts this to an
    if statement. Of course, without the 'use type' it won't compile.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jeffrey R.Carter@21:1/5 to Simon Wright on Fri Jan 28 14:58:09 2022
    On 2022-01-28 13:31, Simon Wright wrote:

    I found myself using a case statement rather than an if so as to avoid a
    'use type': U is an Interfaces.Unsigned_16,

    case U is
    when 1 => do one thing;
    when others => do something else;
    end case;

    These days you can use "in"

    if U in 1 then

    --
    Jeff Carter
    "Write clearly--don't sacrifice clarity for 'efficiency.'"
    Elements of Programming Style
    186

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Leake@21:1/5 to Andreas ZEURCHER on Fri Jan 28 12:01:17 2022
    Andreas ZEURCHER <ZUERCHER_Andreas@outlook.com> writes:

    On Thursday, January 27, 2022 at 6:55:11 AM UTC-6, Luke A. Guest wrote:
    On 27/01/2022 12:32, Pierre van de Laar wrote:
    Dear Members of comp.lang.ada,

    We would like to inform you that we have made Renaissance-Ada, a
    toolset for legacy Ada software, open source:
    https://github.com/TNO/Renaissance-Ada

    What does "for legacy Ada software" mean?
    I would suspect that “for legacy Ada software” might be a euphemistic
    way of saying: doesn't support modern Ada after either Ada83 or Ada95.

    Except that it's based on libadalang, which supports Ada 2022, as well
    as previous versions.

    So I'm guess "legacy" refers to wanting/needing to adapt old Ada code to
    a new compiler and/or environement, requirements, etc. Tools for
    automatic rewrite would be handy for that.

    They could easily leave out "legacy" - rewriting cann be useful for
    recent code as well. But maybe their marketing department thinks there's
    a niche that they can more easily sell to?

    --
    -- Stephe

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From G.B.@21:1/5 to Simon Wright on Sat Jan 29 10:26:33 2022
    On 28.01.22 11:27, Simon Wright wrote:

    https://github.com/TNO/Renaissance-Ada


    What does "for legacy Ada software" mean?

    Looking at the link, it seems that it's software that has been just
    growing, to the point at which it's becoming unmaintainable. I don't see anything that says Ada83 (though software with that sort of problem is
    likely to have been around for a long time).

    The presentation seems to be openly addressing "legacy / technical debt". Referring to an large code base.

    The README in, e.g., Dependency_Graph_Extractor lists some
    contemporary Versions of compiler and tools.

    Speculating, an ever more complex and changing language requires
    efforts becoming correspondingly more complex and changing.
    I understand that recent GNATs have dropped some support for less
    recent editions of the Ada language.

    Anyway, if Renaissance-Ada extracts information about programs, it adds clarity.
    That seems helpful, as it saves time and money - if that's what you
    want to achieve.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From AdaMagica@21:1/5 to G.B. on Sat Jan 29 01:49:25 2022
    G.B. schrieb am Samstag, 29. Januar 2022 um 10:26:36 UTC+1:
    I understand that recent GNATs have dropped some support for less
    recent editions of the Ada language.

    Hu? Examples please.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From G.B.@21:1/5 to AdaMagica on Sat Jan 29 19:35:01 2022
    On 29.01.22 10:49, AdaMagica wrote:
    G.B. schrieb am Samstag, 29. Januar 2022 um 10:26:36 UTC+1:
    I understand that recent GNATs have dropped some support for less
    recent editions of the Ada language.

    Hu? Examples please.

    gnat1: invalid switch: -gnat83

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Wright@21:1/5 to G.B. on Sat Jan 29 19:43:02 2022
    "G.B." <bauhaus@notmyhomepage.invalid> writes:

    On 29.01.22 10:49, AdaMagica wrote:
    G.B. schrieb am Samstag, 29. Januar 2022 um 10:26:36 UTC+1:
    I understand that recent GNATs have dropped some support for less
    recent editions of the Ada language.
    Hu? Examples please.

    gnat1: invalid switch: -gnat83

    This is still accepted in FSF GCC 11, 12. GNAT CE, on the other hand
    ... who knows why

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From AdaMagica@21:1/5 to All on Sun Jan 30 08:16:40 2022
    GNAT CE only supports the newest Ada generation. Quite annoying. This has been so since at least 2016.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)