all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Liliana Marie Prikler <liliana.prikler@gmail.com>
To: jgart <jgart@dismail.de>
Cc: Guix Devel <guix-devel@gnu.org>
Subject: Re: Guix Goals: One Hackable Developer Tool To Rule Them All
Date: Sun, 16 Oct 2022 20:50:47 +0200	[thread overview]
Message-ID: <441e40f1ca4646bf6078797690167a9ee57a5ca0.camel@gmail.com> (raw)
In-Reply-To: <20221016125442.GD2722@dismail.de>

Am Sonntag, dem 16.10.2022 um 12:54 -0500 schrieb jgart:
> On Sun, 16 Oct 2022 15:11:38 +0200 Liliana Marie Prikler
> <liliana.prikler@gmail.com> wrote:
> > Am Donnerstag, dem 13.10.2022 um 01:07 -0500 schrieb jgart:
> >   #!/bin/sh
> >   exec guix shell -m "$0" -- guile -e main -s "$0" "$@" 
> >   !#
> > 
> >   (define (main args) ...)
> > 
> >   ...
> > 
> >   (specifications->manifest ...)
> > 
> > Of course, it'd be hell of a lot cleaner to separate manifest and
> > business logic, but who am I to stop you?
> 
> Hi lilyp,
> 
> Yup, the latter is what I'm proposing instead of implementing a goal
> for each lang à"ala carte" as a script for each project.
This à la carte approach will definitely break down in polyglot
applications – hence needing a more generic solution for the generic
case – and even when there's just one language, the fact that multiple
compilers, linters, etc. exist and people are very opinionated on which
ones to use with which options makes your goal a somewhat stupid one if
you don't actually specify what it has to do on a per-project basis.

> That would be like implementing part of a build-system everytime
> when needed like we currently do when we needing to run pytest
> instead their being first class support like was being worked on in:
> https://github.com/guix-mirror/guix/tree/wip-python-pep517.
> 
> I'd like for "goals" to have first class support like guix home
> configs, etc. do. But thanks for reminding us that we can just
> implement it directly as needed in a script for each project. That's
> a testament to the extensibility of Guix!
I don't think it'd be that.  Note that you have the full power of
Guix/Guile at your disposal, so you can encapsulate much of it in
channels.  Is it a good idea to do so?  Hell, no.  Refusing to use the
tools your colleagues are using to instead hack on your own is not a
recipe for success.  There are good reasons why generic build systems
like make and ninja are more widely adopted than their language-focused
counterparts.  You're not doing anyone a favour here by forcing them to
adopt a solution that has parentheses.

Instead of aiming for world domination, you should try writing a tool
that helps folks collaborate.  Adding a guix.scm alone already does
wonders in this regard, but if you really want to go beyond, you could
define a set of workflows with gwl or fall back to ye good olde make
and ninja.  And if you don't like either, there's potato-make [1].

Cheers

[1] https://github.com/spk121/potato-make


  parent reply	other threads:[~2022-10-16 19:08 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-13  6:07 Guix Goals: One Hackable Developer Tool To Rule Them All jgart
2022-10-13 13:03 ` zimoun
2022-10-13 13:56 ` pinoaffe
2022-10-13 14:34   ` indieterminacy
2022-10-13 14:55     ` pinoaffe
2022-10-14  2:24       ` jgart
2022-10-16 13:11 ` Liliana Marie Prikler
2022-10-16 17:54   ` jgart
2022-10-16 18:41     ` jgart
2022-10-16 18:50     ` Liliana Marie Prikler [this message]
2022-10-16 20:03       ` jgart
2022-10-16 23:22         ` Felix Lechner via Development of GNU Guix and the GNU System distribution.
2022-10-17 19:08         ` Liliana Marie Prikler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=441e40f1ca4646bf6078797690167a9ee57a5ca0.camel@gmail.com \
    --to=liliana.prikler@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=jgart@dismail.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.