From mboxrd@z Thu Jan 1 00:00:00 1970 From: zimoun Subject: Re: On DSLs Date: Tue, 3 Dec 2019 13:00:52 +0100 Message-ID: References: <87mudrxvs8.fsf@ambrevar.xyz> <87mudd59ho.fsf@gnu.org> <877e4glyc3.fsf@ambrevar.xyz> <87v9rxx8ri.fsf@gnu.org> <87d0e4oy51.fsf@ambrevar.xyz> <878sop6icq.fsf@gnu.org> <87d0drscng.fsf@gnu.org> <87mucm4iyp.fsf@gnu.org> <877e3narto.fsf_-_@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:38645) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ic6ri-0001F3-6f for guix-devel@gnu.org; Tue, 03 Dec 2019 07:01:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ic6rc-0004eK-3y for guix-devel@gnu.org; Tue, 03 Dec 2019 07:01:14 -0500 In-Reply-To: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Konrad Hinsen Cc: Guix Devel Hi Konrad, On Tue, 3 Dec 2019 at 11:29, Konrad Hinsen wro= te: > > IOW, I think you can have a declarative _style_ in a full-blown > > language, like: > > Definitely, and that's what I am aiming for. There remains the security > issue of malevolent power users sneaking in innocuous-looking > non-declarative code that non-expert users might run without suspicion. > But I'd say we can make a lot of progress by having declarative style > for all routine configuration data. I am sure you are not talking about parenthesis-style, but if you need an example of DSL based on Guix with YAML-flavour, give a look at these examples [1]. [1] https://guixwl.org/beyond-started >From my perspective, I find hard: - to know which function does what - where this function is located (module to import) - and sometimes this function is not exported, so I need to tweak Guix, recompile, not-friendly time. For example, I have in mind =E2=80=98package-environment-inputs=E2=80=99. It will help to list what the features the manifest file should contain. I mean, except the example [2] providing 'packages->manifest' or 'specifications->manifest' or the other one in Inferiors [3] using a specific commit, then it is a bit sparse. [2] http://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-package.htm= l#profile_002dmanifest [3] http://guix.gnu.org/manual/devel/en/html_node/Inferiors.html#Inferiors All the best, simon