From: david larsson <david.larsson@selfhosted.xyz>
To: "(" <paren@disroot.org>
Cc: guix-devel@gnu.org,
guix-devel-bounces+david.larsson=selfhosted.xyz@gnu.org
Subject: Re: Struggling to write Dissecting Guix, Part 2
Date: Wed, 25 Jan 2023 20:39:53 +0100 [thread overview]
Message-ID: <e6d29db2dd6eb9564289c1dcb467dea5@selfhosted.xyz> (raw)
In-Reply-To: <CQ13296O7II3.PG3SUFZDBPRI@guix-framework>
On 2023-01-25 08:12, ( wrote:
> 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
> store), so it's
> difficult to explain with a simpler monad, as there are no simpler
> monads
> - Guix doesn't have functors or monoids either, so it's hard to
> "progressively" explain
> first functors, then monoids, then monads
> - Monads are just difficult in general :P
>
> Any suggestions? :/
>
> -- (
Hi,
Im not an expert on monads by any means, but...
There's a monad tutorial fallacy to avoid:
https://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/
written by someone Brent: "Associate Professor of Computer Science at
Hendrix College. Functional programmer, mathematician, teacher, pianist,
follower of Jesus."
And, personally, I liked this tutorial:
https://towardsdatascience.com/monads-from-the-lens-of-imperative-programmer-af1ab8c8790c
Maybe it helps, maybe not.
Best regards,
David
next prev parent reply other threads:[~2023-01-25 19:40 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-25 7:12 Struggling to write Dissecting Guix, Part 2 (
2023-01-25 9:58 ` zimoun
2023-01-26 6:32 ` (
2023-01-25 15:54 ` Wojtek Kosior via Development of GNU Guix and the GNU System distribution.
2023-01-26 6:33 ` (
2023-01-26 11:17 ` Simon Tournier
2023-01-26 20:03 ` bokr
2023-01-27 11:50 ` Simon Tournier
2023-01-25 19:39 ` david larsson [this message]
2023-01-26 6:34 ` (
2023-01-28 18:28 ` david larsson
2023-01-26 20:45 ` Felix Lechner via Development of GNU Guix and the GNU System distribution.
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
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e6d29db2dd6eb9564289c1dcb467dea5@selfhosted.xyz \
--to=david.larsson@selfhosted.xyz \
--cc=guix-devel-bounces+david.larsson=selfhosted.xyz@gnu.org \
--cc=guix-devel@gnu.org \
--cc=paren@disroot.org \
/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 public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).