From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.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 IA9kOpTW0GPuVgEAbAwnHQ (envelope-from ) for ; Wed, 25 Jan 2023 08:13:25 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id WHB1OpTW0GP28QAA9RJhRA (envelope-from ) for ; Wed, 25 Jan 2023 08:13:24 +0100 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 8B6E512B9C for ; Wed, 25 Jan 2023 08:13:24 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pKZxs-0006hr-7U; Wed, 25 Jan 2023 02:13:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pKZxp-0006fl-To for guix-devel@gnu.org; Wed, 25 Jan 2023 02:12:57 -0500 Received: from knopi.disroot.org ([178.21.23.139]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pKZxm-0005zU-PI for guix-devel@gnu.org; Wed, 25 Jan 2023 02:12:56 -0500 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id C393241113 for ; Wed, 25 Jan 2023 08:12:50 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id n65_nO4Oohw4 for ; Wed, 25 Jan 2023 08:12:49 +0100 (CET) Content-Type: multipart/signed; boundary=ba6fdd8f755aa50ff0ec5e7248539721c5fcd13debdbaed7e097abb169f8; micalg=pgp-sha512; protocol="application/pgp-signature" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1674630769; bh=KgboxQ7PnFL1hHCGp+expvMNr2++QGY0maxpSzcZQTs=; h=Date:Subject:From:To; b=FdUys6xaUeCJHIi7MVj7bUFRUcTUK6OkMr8xA587Cs9bbhSQ3YJnv9HC2eeoVy2MO 3Nmqs1pxCWz9kyUtRSdJPJ3aT5AJ7PVj69hCBT+C7vVZE8cbv4DqHM07pvh0KXttjh BVyBgiwcul+dw5bBh6oIp7zq/1DNEEkmI73tn9aA2pALToHD+NduBpXr12GivVh6du Rxy8GGffzg0CREQQUof9TjQpfos1ykC47ISPgEXmeYxgk1dKi4G73rEQOVu6IQ3Rn+ VW9+z0iSHyBftVChcYPXkwQKRFwbgDtQFDAga386eWl2yOdU1X4a5NfseWKTPSlyVB MlmUNsS1zGVYA== Date: Wed, 25 Jan 2023 07:12:45 +0000 Message-Id: Subject: Struggling to write Dissecting Guix, Part 2 From: "(" To: Received-SPF: pass client-ip=178.21.23.139; envelope-from=paren@disroot.org; helo=knopi.disroot.org X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MIME_HEADER_CTYPE_ONLY=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1674630804; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:content-type:content-type:list-id: list-help:list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=5y3vVRzVRNZxOeXJj/235HGp3Kihpq41naVBVs9MY5w=; b=uujve0DLWLskRlGu2EcLb16jZ2bQ49he7xjN39T5S+Pi3t/7yT5iuw6t/MfKBEPj70HnFA mjqNIx3rWsnhHUv1LJ+OPVGZSRDP8pyvvpWfFCO0m6jQsqjvpp4PHftn0oQ8cfi/36YyBq GNCURVaXukdFti6GWIVXFa6GJGX308wddJ8ZIsXRzMwa6TB+B8oGc/bQW1VybUgwKMWhTo ncLgguX2bgcohW/hlpOy5P72yJScNuI4ibwlq5cysVwrHWn7xJV0dbgl/MWCd4NatQjk+4 KmDOjFT68PdntlDuvVKka7iDoIOJnnLSPzp7qa/asxSl2INJWPcAMIOlzV9ZNw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=disroot.org header.s=mail header.b=FdUys6xa; 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"; dmarc=pass (policy=reject) header.from=disroot.org ARC-Seal: i=1; s=key1; d=yhetil.org; t=1674630804; a=rsa-sha256; cv=none; b=rMng1T/y9F+GgdcvdVT/32ZJCSlx1oed3tTQur0UBpB1SUiYJCgNphW9fwXhN7aMiHa2pa xInPuqSteFmqWmMq+A0/igEo5BJZlfUokxmxOSMxYz8S5E/PmPrf2/v9hhtjCMGDOW+62m NY+0FiWZu0E7kLNb5OB7Uw8sBWR28OP+aIrDK8oPG/s84t+WY2eJh6AhSQuMeyn+7d2kFk OE1Mqtcgh9ba/JAk+aZLNvbSIqDKUSQkcmGucOnr69nakgabAhUamJNq4eDwWM+2wlqUR3 /ea81SFX3bS89Ky1gkjH1zYrscnsoUDOq+GSEanJZFoS/RC5KU9T3sY3khVwRQ== X-Migadu-Scanner: scn1.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=disroot.org header.s=mail header.b=FdUys6xa; 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"; dmarc=pass (policy=reject) header.from=disroot.org X-Migadu-Spam-Score: -4.35 X-Spam-Score: -4.35 X-Migadu-Queue-Id: 8B6E512B9C X-TUID: jnK/pnBzRMBn --ba6fdd8f755aa50ff0ec5e7248539721c5fcd13debdbaed7e097abb169f8 Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Hello Guix, I've been struggling to write Part 2 of Dissecting Guix; I'm just not sure = where to start to explain monads. It's hard for a variety of reasons, those being that: - Guile has no type system, so you can't express monads in terms of types - Guix doesn't implement very many monads (only state, identity, and stor= e), so it's difficult to explain with a simpler monad, as there are no simpler mona= ds - Guix doesn't have functors or monoids either, so it's hard to "progress= ively" explain first functors, then monoids, then monads - Monads are just difficult in general :P Any suggestions? :/ -- ( --ba6fdd8f755aa50ff0ec5e7248539721c5fcd13debdbaed7e097abb169f8 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQGzBAABCgAdFiEE6Vh10NblKE5doNlW7ImHg/nqI20FAmPQ1m4ACgkQ7ImHg/nq I2041QwA8LJhO/lkmNyR8MSi7hcSEjEMU+fFF2LEsSQzKUh6AaknaonToxJiDm9s YC7Vyoo/v7OvzMW6uk+x869jRQJGyDNRhieSTuHOsiqm6SviKZlO/n35wr2EDEDk h12tO87Bd0wTiyTCXihz/431LbWh9mPyrjO2yNegU/ifzWx2FJW1uJTbKL0/qHC6 euKJmdHRDEZfNnt2N2lvP1aK0cIsrukBsqqbmS0OfMARPyda5jBlRtB8LkqKOulC uu73+6IEzA9K39iKxXgmEIHsn/RmcJAcQll05wo1Jcq/2n9d25msutO1mkKrtqxo J0kHheW37rUH/j6MfQC6M7vbEtUlI1T6ecexkWc8u1BEXRjTTsjX762TF+vl+p30 33bjWqKkSdGL3RuU5vaBUxcQ1Pu1t8KYALm/D4aoQfEPqNn3fmW9rmJtFt+1dVjp U6C2irgT/gFSIOolmPSzaTvp+/9qnqUgFcrXQ9RCskpUHBm2EqTDW/t2YTa1Tqpw KqkkYhLB =H+VK -----END PGP SIGNATURE----- --ba6fdd8f755aa50ff0ec5e7248539721c5fcd13debdbaed7e097abb169f8--