From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id gI8GHGBpqmLZyAAAbAwnHQ (envelope-from ) for ; Thu, 16 Jun 2022 01:21:04 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id 0AbqG2BpqmIJCgAAauVa8A (envelope-from ) for ; Thu, 16 Jun 2022 01:21:04 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id F16ED353EC for ; Thu, 16 Jun 2022 01:21:03 +0200 (CEST) Received: from localhost ([::1]:46674 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o1cJq-0004Dk-Ji for larch@yhetil.org; Wed, 15 Jun 2022 19:21:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55388) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o1cJP-0004DI-Jn for guix-devel@gnu.org; Wed, 15 Jun 2022 19:20:35 -0400 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]:41601) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o1cJN-0000bi-Cs for guix-devel@gnu.org; Wed, 15 Jun 2022 19:20:35 -0400 Received: by mail-ej1-x62f.google.com with SMTP id u12so26051799eja.8 for ; Wed, 15 Jun 2022 16:20:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sweatshoppe-org.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=zsu/vzjmA2nbHac5kkADk6PZYyb83tFADCMyQe/nnrQ=; b=m8a8h6ej/EK75LFj75sJXJmsiihw5Nsm+XDkCVOfo4+CGw7qGTB0a5717/M98KfjTk fBXMk5oQuW8LGn4885+WAij89DzrL50EOwmCOip0Sj+hl+lfk/k3McTi1bBdfu47ZubC +mqrs+Nk7dlk2fp6sbs6BXNegQdyzSCnBXtuCLBjGVGVCnMnk4ZCNIi+Rp5OjkySBd0g vaFyLqstoumwIAObWTaWwTsOnPo19tjXXrb6dajoPfqDsdCCGkUtDsm1r8xzW9QEt6VY uQxSNUv1C/t6+OnaIPNRwg8O95Blc+FIoGDu4joNWJ3Y+6XEFkYeEsNPX7kERStPf3Yz PSqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=zsu/vzjmA2nbHac5kkADk6PZYyb83tFADCMyQe/nnrQ=; b=UjIzqSkQ9KzoMiZaUh/waanWkNyzlc0dtIYcH/2LL6RPrYIQ7QWEhuXydTjynz0u7N MbZd5qnxhgt78lSTcs6aPg0Xt4ihKQtVrwST5jcle5DIzAsBPlYZc7AHWpQumqSJGjMG DV2OXAt2kNMZsRKVItNXi4wf1rCgVOVB3SA+LqTzYrr9hVSru3F3PGJQCFtWaFxr9M/v 3UUBLANoe8gwBU5ruIL9GQNTFrqjj70DS5MyY5RJzu9c60gs3wGkSFstmdB4Ip9Ay1uS 6kqDqekQj1BkwR8AxtNFtGURqMSKJzzJOy9h7JjCsnht9xBWf+BpqbgXoS9/3iGnRBJM fwTQ== X-Gm-Message-State: AJIora+LOioUgkBJXIIsSm3RRU/IcWD1yGgA2CS8g6439uzXbKxbUKGM 8IlffRAsJXoaEHmzTNE2P+gSQ11uvVe8IqngIS5ypw== X-Google-Smtp-Source: AGRyM1swbLwIk/HfC8oXkPqONt991cFBVCmTPp6ckOyAL2FtNEM27KQaxBBZPc/BROs0k4mo01Ww7yxYGS7TjRphk14= X-Received: by 2002:a17:906:730f:b0:711:db20:666b with SMTP id di15-20020a170906730f00b00711db20666bmr1921743ejc.763.1655335230561; Wed, 15 Jun 2022 16:20:30 -0700 (PDT) MIME-Version: 1.0 References: <87a6as62r2.fsf@elephly.net> <87ilpfwmi0.fsf@jpoiret.xyz> <877d5j5vng.fsf@trop.in> <87a666663179c883aaa1797b62c3bcb0084d3ebb.camel@gmail.com> <87bkuuyqf9.fsf@elephly.net> <6aca367bce796a4856ef583cc65bfae22d946691.camel@telenet.be> In-Reply-To: From: Blake Shaw Date: Thu, 16 Jun 2022 06:20:20 +0700 Message-ID: Subject: Re: how to write services (was: Re: Teams) To: Maxime Devos Cc: Guix Devel Content-Type: multipart/alternative; boundary="00000000000066fbbb05e184c46f" Received-SPF: none client-ip=2a00:1450:4864:20::62f; envelope-from=blake@sweatshoppe.org; helo=mail-ej1-x62f.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list 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+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1655335264; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=zsu/vzjmA2nbHac5kkADk6PZYyb83tFADCMyQe/nnrQ=; b=BA8eVH5Oy7QraJCA0Tx7pDOzL26AvfC7QMs/pu3GcPgOy3BoqVYGTMg0zhS6a4i18GRKpi OsrwTuFSzjRu9FvW3tuZSsX9OfSqS8+Xp+JgpPPcS8JOw3R4wfU3S96HMCZmplC2RuMDce bcR1aL9OrKPcNUy5adi+AfTA2rDnZYgL6zkQhohz6u+jmtgcBwmq0n2gwIjqHBt3qyy46d V4acc+Qlk/OMXchLZ+Bu1DKY1aQtREjF3UT7g3z67DXhQd93cvoBLBO2a0VMsXyQgNVFO1 Up/2oNctJjyx1y4Yb+KWc37IJd0JV3PVM2rhufeAP8uZ0Udmm3M5muTrGvjSIQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1655335264; a=rsa-sha256; cv=none; b=cON4bWQTuy3WmN4KFfBOhrrHsT5zYeC+QRPN5HTzLxH8JXDsY6Da+bD9nHU+si5D0Np0h/ 4usj9pVyW9TrYlm06gK0YdLLKJdvUnoXE9MWiGCgXsVr692ftYjSuagBl+6EFXoNWKlfYh cSl2PCUJt0Yq0FzxxrUFatjzEa6N2RKI7m227V+SI9Z01CtpUzIaMDevDMVmpXFVWJCXW5 jZk6pz2zDTWffYVOFv9M2Diy6hS/QQB2pxrObMGIioBcXzKVRDDXIUYRwxNrWPfpmWTjVm fd/PORpcTlK6FpuH9AeCAhSJZNNV1l7E2/LhCFrB8sqaQOOuGY8XgXpr5QFWKQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=sweatshoppe-org.20210112.gappssmtp.com header.s=20210112 header.b=m8a8h6ej; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -3.49 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=sweatshoppe-org.20210112.gappssmtp.com header.s=20210112 header.b=m8a8h6ej; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: F16ED353EC X-Spam-Score: -3.49 X-Migadu-Scanner: scn1.migadu.com X-TUID: Oagn/gZfPYcf --00000000000066fbbb05e184c46f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks for the feedback, abelian groups are a good example because so many groups are abelian (fields etc). But, perhaps it's just getting late and the matters are now & the details are slipping my mind, but im starting to realize im unsure of many examples of file-like objects that aren't a file? The email where you responded re: packages was cut short, but it seemed to be that you were saying that record-types *aren't* file-like, when I had thought they are; I thought anything with simple means of serialization could be considered file-like, and that pseudofiles (/devs, /procs, etc) were also in the file-like category (which is apparently a misnomer on my part). Would anyone care to share an explanation of what is/is not a file-like object in Guix? Are fluids not considered file-like? I had thought that would be a use case where this geneticity becomes important. I remember when I first encountered gexps I thought, as FLOs didn't seem to be files, they were either records or fluids. It took me a good while to realize a file-like object is usually just a file, haha On Thu, Jun 16, 2022, 05:28 Maxime Devos wrote: > Blake Shaw schreef op wo 15-06-2022 om 21:40 [+0000]: > > On the contrary, lets say I'm writing an intro book on CT. If I'm > > demonstrating something trivial, say the initial object, I'm not > > going to refer to it as "an initial-like object" for the sake of > > generality. > > Neither does Guix? If you're in a context where only the basic object > (in this case, your demonstration the initial object) is used, just > talk about the basic object. But in a later section where you > generalize things to =E2=80=98initial-like objects=E2=80=99 (whatever tha= t would be in > CT, I don't know any CT), you talk about =E2=80=98initial-like objects=E2= =80=99, not > =E2=80=98initial object and initial-like objects=E2=80=99. > > For an example from another domain, consider groups in algebra. > In group theory, we have e.g. the fundamental theorem on homomorphisms. > Wikipedia formulates this as: > > Given two groups G and H and a group homomorphism f : G =E2=86=92 H, let = K be a > normal subgroup in G and =CF=86 the natural surjective homomorphism G =E2= =86=92 G/K > (where G/K is the quotient group of G by K). If K is a subset of ker(f) > then there exists a unique homomorphism h: G/K =E2=86=92 H such that f = =3D h=E2=88=98=CF=86. > > An equivalent statement could be made by replacing =E2=80=98given a group= =E2=80=99 by > =E2=80=98given an Abelian group or a group=E2=80=99: > > Given two Abelian groups or groups G and H and a group homomorphism f : > G =E2=86=92 H, let K be an Abelian normal subgroup or normal subgroup in = G and > =CF=86 the natural surjective homomorphism G =E2=86=92 G/K (where G/K is = the > quotient group of G by K). If K is a subset of ker(f) then there exists > a unique homomorphism h: G/K =E2=86=92 H such that f =3D h=E2=88=98=CF=86= .=E2=80=99 > > But why do such a pointless thing, wouldn't just talking about groups > instead of =E2=80=98Abelian groups or groups=E2=80=99 be much simpler? > > TBC: here =E2=80=98file-like object=E2=80=99 =E2=89=83 =E2=80=98group=E2= =80=99 and =E2=80=98file=E2=80=99 =3D =E2=80=98Abelian group=E2=80=99. > > Greetings, > Maxime. > --00000000000066fbbb05e184c46f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks for the feedback, abelian groups are a good exampl= e because so many groups are abelian (fields etc).

But, perhaps it's just getting late and the matter= s are now & the details are slipping my mind, but im starting to realiz= e im unsure of many examples of file-like objects that aren't a file? T= he email where you responded re: packages was cut short, but it seemed to b= e that you were saying that record-types *aren't* file-like, when I had= thought they are; I thought anything with simple means of serialization co= uld be considered file-like, and that pseudofiles (/devs, /procs, etc) were= also in the file-like category (which is apparently a misnomer on my part)= .

Would anyone care to s= hare an explanation of what is/is not a file-like object in Guix? Are fluid= s not considered file-like? I had thought that would be a use case where th= is geneticity becomes important.

I remember when I first encountered gexps I thought, as FLOs didn= 't seem to be files, they were either records or fluids. It took me a g= ood while to realize a file-like object is usually just a file, haha
<= /div>
O= n Thu, Jun 16, 2022, 05:28 Maxime Devos <maximedevos@telenet.be> wrote:
Blake Shaw schreef op wo 15-06-2022 om 21:40 [+0000]:
> On the contrary, lets say I'm writing an intro book on CT. If I= 9;m
> demonstrating something trivial, say the initial object, I'm not > going to refer to it as "an initial-like object" for the sak= e of
> generality.

Neither does Guix?=C2=A0 If you're in a context where only the basic ob= ject
(in this case, your demonstration the initial object) is used, just
talk about the basic object.=C2=A0 But in a later section where you
generalize things to =E2=80=98initial-like objects=E2=80=99 (whatever that = would be in
CT, I don't know any CT), you talk about =E2=80=98initial-like objects= =E2=80=99, not
=E2=80=98initial object and initial-like objects=E2=80=99.

For an example from another domain, consider groups in algebra.
In group theory, we have e.g. the fundamental theorem on homomorphisms.
Wikipedia formulates this as:

Given two groups G and H and a group homomorphism f : G =E2=86=92 H, let K = be a
normal subgroup in G and =CF=86 the natural surjective homomorphism G =E2= =86=92 G/K
(where G/K is the quotient group of G by K). If K is a subset of ker(f)
then there exists a unique homomorphism h: G/K =E2=86=92 H such that f =3D = h=E2=88=98=CF=86.

An equivalent statement could be made by replacing =E2=80=98given a group= =E2=80=99 by
=E2=80=98given an Abelian group or a group=E2=80=99:

Given two Abelian groups or groups G and H and a group homomorphism f :
G =E2=86=92 H, let K be an Abelian normal subgroup or normal subgroup in G = and
=CF=86 the natural surjective homomorphism G =E2=86=92 G/K (where G/K is th= e
quotient group of G by K). If K is a subset of ker(f) then there exists
a unique homomorphism h: G/K =E2=86=92 H such that f =3D h=E2=88=98=CF=86.= =E2=80=99

But why do such a pointless thing, wouldn't just talking about groups instead of =E2=80=98Abelian groups or groups=E2=80=99 be much simpler?

TBC: here =E2=80=98file-like object=E2=80=99 =E2=89=83 =E2=80=98group=E2=80= =99 and =E2=80=98file=E2=80=99 =3D =E2=80=98Abelian group=E2=80=99.

Greetings,
Maxime.
--00000000000066fbbb05e184c46f--