[Haskell-cafe] What to call Occult Effects

Michael Matsko msm at gwmail.gwu.edu
Thu Nov 12 01:38:17 UTC 2020


Also, I think you want to say occlude, which means block from view, as opposed to occult which refers to magic and such.  Which may, or may not be what you want.

Mike

Michael Matsko
________________________________
From: Haskell-Cafe <haskell-cafe-bounces at haskell.org> on behalf of Kim-Ee Yeoh <ky3 at atamo.com>
Sent: Wednesday, November 11, 2020 8:33:34 PM
To: Haskell Cafe <haskell-cafe at haskell.org>; mgajda at mimuw.edu.pl <mgajda at mimuw.edu.pl>
Subject: Re: [Haskell-cafe] What to call Occult Effects

(I'll respond with the original subject heading and with the full thread of Michal's reply copied below so that the convo stays in one place.)

Hi Michal, I'm afraid you caricaturize my original email out of proportion here:

> class Monoid m => T m o where
> i :: o -> t
> c :: t -> o -> Bool
<snip>

Not only is your T type class more complicated than what I wrote, it's also riddled with suggestive but possibly misleading one-letter variable names. You even ask your reader to stay wary of the laws (snipped) that might not even be correctly stated.

I do no such thing in my original email.

In fact, the modicum of Haskell background that suffices for grasping the original query is only the next level up from recognizing that a universally polymorphic function of type (a -> a -> a) is inhabited by exactly two functions, modulo bottom.

>From there it's one more step to how (forall m. Monad m => m a -> m b -> m b) is inhabited by a mere handful of functions, again barring bottom. My query makes reference to how two of the those functions, namely (const id) and (liftM2 $ const id) are equivalent with some monads but not others.

I even gave further clarification in plain English about "how the effect of the second parameter blocks the effect of the first."

At the top of your email you wrote:

> It is easier to understand it if:
> 1. You give some examples of such monads
> 2. Describe how this property arises
> 3. Tell how whether the law is unique or part of a list of laws applicable

Are you alluding to the X-Y problem?

http://xyproblem.info/

I assure you I labor under no such tunnel-vision.

Were I to request a cromulent adjective for the seventh powers of the natural numbers, what progress do you make by making counter-demands for examples?

Behind which string of digits does the pellucid word hide itself?

-- Kim-Ee

On Wed, Nov 11, 2020 at 8:36 PM Michal J Gajda <mgajda at mimuw.edu.pl<mailto:mgajda at mimuw.edu.pl>> wrote:
It is easier to understand it if:
1. You give some examples of such monads
2. Describe how this property arises
3. Tell how whether the law is unique or part of a list of laws applicable

Most of mathematics we do is not entirely disconnected from applications.

If I tell you there is a class of monoids `m` over a set of objects `o` :

class Monoid m => T m o where
  i :: o -> t
  c :: t -> o -> Bool

Such that the following laws are satisfied:

Forall x y z m n.
c (i x) x =True
c mempty x = False
c m y = True => c (m <> n) y = True
c n y = True => c (m <> n) y = True

What does it tell you about the definitions?
Can you tell if this set of laws is correctly stated or exhaustive?
Whether it models what I intend to do?
Without further examples could I claim that it may be universal model for some phenomena f and g?

Or would you rather see some examples or descriptions of i and c operations?


PS you may respond to haskell-cafe, sure. I did not think that my previous question deserved sharing, but this answer certainly does.
--
  Cheers
     Michał

On Wed, Nov 11, 2020, 14:04 Kim-Ee Yeoh <ky3 at atamo.com<mailto:ky3 at atamo.com>> wrote:
Hi Michal,

How is it hermetic? I think I fully described the property whose name I am opening to discussion.

What is lacking in the definition?

Also, do you mind having this discussion at the cafe itself? You are probably not the only one with this query.

On Wed, Nov 11, 2020 at 7:37 PM Michał J Gajda <mjgajda at gmail.com<mailto:mjgajda at gmail.com>> wrote:
Hi,
Your post to haskell-cafe is somewhat hermetic if you do not provide additional examples.
What do you use these for?
--
  Cheers
    Michał
--
-- Kim-Ee
--
-- Kim-Ee
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20201112/1e10bec9/attachment.html>


More information about the Haskell-Cafe mailing list