comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephen_leake@stephe-leake.org>
Subject: Re: AdaCore's survey regarding the future of GNAT Community Edition
Date: Tue, 1 Sep 2020 11:22:04 -0700 (PDT)	[thread overview]
Message-ID: <302f13a5-6652-408d-8fa9-65114963fc5en@googlegroups.com> (raw)
In-Reply-To: <bdaec5f8-cef9-4870-bf1a-8bb191bc8959n@googlegroups.com>

On Monday, August 31, 2020 at 7:54:46 AM UTC-7, Vincent DIEMUNSCH wrote:
> And they also used Python for libadalang : "libadalang is using the Langkit framework as a basis, and is at the time of writing the main project developped using it. The language specification, while embedded in Python syntax, is mostly its own language, the Langkit DSL, that is used to specify the part of Ada syntax and semantics that are of interest to us." 
> 
> I wonder if it would have been possible to create a library of objects directly in Ada, somehow equivalent in features to Python's Objects, but with the advantage of strong typing and a compilation to native instructions. It would require a major use of interfaces, one for each Python's built-in type class, but it would have been a foundation for many other applications. 
> 
> Vincent
Langkit uses the advanced features of Python to create a Domain Specific Language (DSL) for defining Abstract Syntax Trees. The DSL also defines much of the user API for accessing the syntax tree after parsing. You could accomplish something similar by using a grammar generator (WisiToken or Langkit :) to create a parser for the desired DSL (as WisiToken does), but then defining the API would be done separately, and the correspondence between the API and the syntax tree maintained manually (ie error-prone). I think Python is a good choice for this application - there are probably other languages with similar features that could have been used, but Ada is not one.

--  Stephe

  reply	other threads:[~2020-09-01 18:22 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-24 21:42 AdaCore's survey regarding the future of GNAT Community Edition Wesley Pan
2020-07-25  2:17 ` Stephen Leake
2020-07-25 10:35   ` Stéphane Rivière
2020-07-27  8:36   ` Fabien Chouteau
2020-07-25 10:35 ` Stéphane Rivière
2020-07-27  8:07 ` DrPi
2020-07-27  8:38   ` Fabien Chouteau
2020-07-28 13:06     ` DrPi
2020-07-28 14:38   ` Shark8
2020-07-28 16:27     ` Simon Wright
2020-07-28 21:34       ` Shark8
2020-07-29  9:44         ` foo wong
2020-07-29 16:44           ` Simon Wright
2020-07-29 20:59             ` foo wong
2020-08-01  5:32 ` ldries46
2020-08-02 23:43   ` Stephen Leake
2020-08-15 16:38 ` Kevin K
2020-08-16  2:24   ` Roger Mc
2020-08-16 10:08     ` Simon Wright
2020-08-16 12:08       ` Stephen Leake
2020-08-16 12:54       ` Roger Mc
2020-08-19 14:29     ` Simon Wright
2020-08-19 18:09       ` Andreas ZEURCHER
2020-08-19 19:11         ` Dmitry A. Kazakov
2020-08-19 20:21           ` Luke A. Guest
2020-08-20  5:48           ` Roger Mc
2020-08-20  6:43             ` Stéphane Rivière
2020-08-31 14:54               ` Vincent DIEMUNSCH
2020-09-01 18:22                 ` Stephen Leake [this message]
2020-09-01 18:59                   ` Dmitry A. Kazakov
2020-08-19 20:17         ` Simon Wright
2020-08-19 20:19         ` Luke A. Guest
2020-08-19 20:50           ` Simon Wright
2020-08-19 21:35             ` Luke A. Guest
2020-08-20  5:53               ` Roger Mc
2020-08-20  6:12                 ` st...@cunningsystems.com
2020-08-20  9:04               ` Simon Wright
2020-08-20  5:42       ` Roger Mc
2020-08-20  6:01         ` Roger Mc
2020-08-16  2:42   ` Luke A. Guest
2020-08-17  8:51     ` Stéphane Rivière
replies disabled

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