How would you call it when a value turns into a monad?

View: New views
20 Messages — Rating Filter:   Alert me  

How would you call it when a value turns into a monad?

by Christos KK Loverdos :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,

We know that part of the definition of a monad is that nice little  
<return> function (in Haskell terminology) that embeds a value into  
the Monad. If you agree that <return> is not such a nice description,  
what else can we name it?

I am thinking of what the function does but I am not sure which of  
these phrases might be better:

1. lifts a value to a monad
2. wraps a value as a monad
3. injects a value into a monad
4. absorbs a value into a monad
5. embeds ... [which I used in the opening of this email and I almost  
forgot to enumerate
6. turns ... [which is in the subject of the email and I almost forgot  
to enumerate]

.. and I could go on...

As I see it there is no need for just one of them to be the winner but  
is there any one that may capture the semantics better?

Thoughts/Suggestions/Any Preference?

--
  __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com






Re: How would you call it when a value turns into a monad?

by Christos KK Loverdos :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On re-reading, I would drop the constraint "If you agree that <return>  
is not such a nice description". Actually it might be.

On Jun 23, 2009, at 9:45 PM, Christos KK Loverdos wrote:

> Hi all,
>
> We know that part of the definition of a monad is that nice little  
> <return> function (in Haskell terminology) that embeds a value into  
> the Monad. If you agree that <return> is not such a nice  
> description, what else can we name it?
>
> I am thinking of what the function does but I am not sure which of  
> these phrases might be better:
>
> 1. lifts a value to a monad
> 2. wraps a value as a monad
> 3. injects a value into a monad
> 4. absorbs a value into a monad
> 5. embeds ... [which I used in the opening of this email and I  
> almost forgot to enumerate
> 6. turns ... [which is in the subject of the email and I almost  
> forgot to enumerate]
>
> .. and I could go on...
>
> As I see it there is no need for just one of them to be the winner  
> but is there any one that may capture the semantics better?
>
> Thoughts/Suggestions/Any Preference?
>
> --
> __~O
> -\ <,       Christos KK Loverdos
> (*)/ (*)      http://ckkloverdos.com
>
>
>
>
>

--
  __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com






Re: Re: How would you call it when a value turns into a monad?

by Raoul Duke :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> On re-reading, I would drop the constraint "If you agree that <return> is
> not such a nice description". Actually it might be.

i cannot find it, but there was one tutorial/intro/doc (perhaps
written my SPJ if my fuzzy memory recalls correctly?) that had the
only explanation of "return" in words that made "return" not sound
like a st00000pid name.

most often elsewhere i think they describe "return" with the word "inject".

sincerely.

Re: How would you call it when a value turns into a monad?

by Meredith Gregory :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Christos,

Excellent question. Of the ones you mention, inject and embed have other meanings that don't work in your favor in this context. Absorb also has a different connotation in that the entity so absorbed doesn't necessarily remain intact, whereas there are a great deal of monads that have corresponding comonads allowing for extraction of the value previously "returned".

The intuitions of lift and wrap are good and less unfavorably overloaded. To the wrap side you might add
  • contain
  • confine
  • enclose
  • enfold
  • box
  • hold
To the lift side you might add
  • reify
  • represent
In my experience the container metaphor has the most "juice" for many communication contexts, so i would go with something from the "wrap" column, if it were my call.

Best wishes,

--greg

On Tue, Jun 23, 2009 at 11:45 AM, Christos KK Loverdos <loverdos@...> wrote:
Hi all,

We know that part of the definition of a monad is that nice little <return> function (in Haskell terminology) that embeds a value into the Monad. If you agree that <return> is not such a nice description, what else can we name it?

I am thinking of what the function does but I am not sure which of these phrases might be better:

1. lifts a value to a monad
2. wraps a value as a monad
3. injects a value into a monad
4. absorbs a value into a monad
5. embeds ... [which I used in the opening of this email and I almost forgot to enumerate
6. turns ... [which is in the subject of the email and I almost forgot to enumerate]

.. and I could go on...

As I see it there is no need for just one of them to be the winner but is there any one that may capture the semantics better?

Thoughts/Suggestions/Any Preference?

--
 __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com








--
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://biosimilarity.blogspot.com

Re: How would you call it when a value turns into a monad?

by Viktor Klang :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Let's go the cuddly road and name it "embrace" as in:

The value gets embraced as a monad

It's like getting married into royal family.

On Tue, Jun 23, 2009 at 11:14 PM, Meredith Gregory <lgreg.meredith@...> wrote:
Christos,

Excellent question. Of the ones you mention, inject and embed have other meanings that don't work in your favor in this context. Absorb also has a different connotation in that the entity so absorbed doesn't necessarily remain intact, whereas there are a great deal of monads that have corresponding comonads allowing for extraction of the value previously "returned".

The intuitions of lift and wrap are good and less unfavorably overloaded. To the wrap side you might add
  • contain
  • confine
  • enclose
  • enfold
  • box
  • hold
To the lift side you might add
  • reify
  • represent
In my experience the container metaphor has the most "juice" for many communication contexts, so i would go with something from the "wrap" column, if it were my call.

Best wishes,

--greg


On Tue, Jun 23, 2009 at 11:45 AM, Christos KK Loverdos <loverdos@...> wrote:
Hi all,

We know that part of the definition of a monad is that nice little <return> function (in Haskell terminology) that embeds a value into the Monad. If you agree that <return> is not such a nice description, what else can we name it?

I am thinking of what the function does but I am not sure which of these phrases might be better:

1. lifts a value to a monad
2. wraps a value as a monad
3. injects a value into a monad
4. absorbs a value into a monad
5. embeds ... [which I used in the opening of this email and I almost forgot to enumerate
6. turns ... [which is in the subject of the email and I almost forgot to enumerate]

.. and I could go on...

As I see it there is no need for just one of them to be the winner but is there any one that may capture the semantics better?

Thoughts/Suggestions/Any Preference?

--
 __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com








--
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://biosimilarity.blogspot.com



--
Viktor Klang
Scala Loudmouth

Re: How would you call it when a value turns into a monad?

by nuttycom :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

"lift" is certainly the term I've encountered most in the many monad
tutorials I've read while trying to wrap my head around the pattern.

Kris

On Tue, Jun 23, 2009 at 3:14 PM, Meredith
Gregory<lgreg.meredith@...> wrote:

> Christos,
>
> Excellent question. Of the ones you mention, inject and embed have other
> meanings that don't work in your favor in this context. Absorb also has a
> different connotation in that the entity so absorbed doesn't necessarily
> remain intact, whereas there are a great deal of monads that have
> corresponding comonads allowing for extraction of the value previously
> "returned".
>
> The intuitions of lift and wrap are good and less unfavorably overloaded. To
> the wrap side you might add
>
> contain
> confine
> enclose
> enfold
> box
> hold
>
> To the lift side you might add
>
> reify
> represent
>
> In my experience the container metaphor has the most "juice" for many
> communication contexts, so i would go with something from the "wrap" column,
> if it were my call.
>
> Best wishes,
>
> --greg
>
> On Tue, Jun 23, 2009 at 11:45 AM, Christos KK Loverdos <loverdos@...>
> wrote:
>>
>> Hi all,
>>
>> We know that part of the definition of a monad is that nice little
>> <return> function (in Haskell terminology) that embeds a value into the
>> Monad. If you agree that <return> is not such a nice description, what else
>> can we name it?
>>
>> I am thinking of what the function does but I am not sure which of these
>> phrases might be better:
>>
>> 1. lifts a value to a monad
>> 2. wraps a value as a monad
>> 3. injects a value into a monad
>> 4. absorbs a value into a monad
>> 5. embeds ... [which I used in the opening of this email and I almost
>> forgot to enumerate
>> 6. turns ... [which is in the subject of the email and I almost forgot to
>> enumerate]
>>
>> .. and I could go on...
>>
>> As I see it there is no need for just one of them to be the winner but is
>> there any one that may capture the semantics better?
>>
>> Thoughts/Suggestions/Any Preference?
>>
>> --
>>  __~O
>> -\ <,       Christos KK Loverdos
>> (*)/ (*)      http://ckkloverdos.com
>>
>>
>>
>>
>>
>
>
>
> --
> L.G. Meredith
> Managing Partner
> Biosimilarity LLC
> 1219 NW 83rd St
> Seattle, WA 98117
>
> +1 206.650.3740
>
> http://biosimilarity.blogspot.com
>

Re: How would you call it when a value turns into a monad?

by Meredith Gregory :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Viktor,

If you've read my blog postings (this one and this one and this one) about "colored braces" and the relationship to monads, you'd know how much i love this suggestion and wish i'd thought of it. However, i just don't see the collective developer psyche embracing it.

Best wishes,

--greg

On Tue, Jun 23, 2009 at 2:20 PM, Viktor Klang <viktor.klang@...> wrote:
Let's go the cuddly road and name it "embrace" as in:

The value gets embraced as a monad

It's like getting married into royal family.


On Tue, Jun 23, 2009 at 11:14 PM, Meredith Gregory <lgreg.meredith@...> wrote:
Christos,

Excellent question. Of the ones you mention, inject and embed have other meanings that don't work in your favor in this context. Absorb also has a different connotation in that the entity so absorbed doesn't necessarily remain intact, whereas there are a great deal of monads that have corresponding comonads allowing for extraction of the value previously "returned".

The intuitions of lift and wrap are good and less unfavorably overloaded. To the wrap side you might add
  • contain
  • confine
  • enclose
  • enfold
  • box
  • hold
To the lift side you might add
  • reify
  • represent
In my experience the container metaphor has the most "juice" for many communication contexts, so i would go with something from the "wrap" column, if it were my call.

Best wishes,

--greg


On Tue, Jun 23, 2009 at 11:45 AM, Christos KK Loverdos <loverdos@...> wrote:
Hi all,

We know that part of the definition of a monad is that nice little <return> function (in Haskell terminology) that embeds a value into the Monad. If you agree that <return> is not such a nice description, what else can we name it?

I am thinking of what the function does but I am not sure which of these phrases might be better:

1. lifts a value to a monad
2. wraps a value as a monad
3. injects a value into a monad
4. absorbs a value into a monad
5. embeds ... [which I used in the opening of this email and I almost forgot to enumerate
6. turns ... [which is in the subject of the email and I almost forgot to enumerate]

.. and I could go on...

As I see it there is no need for just one of them to be the winner but is there any one that may capture the semantics better?

Thoughts/Suggestions/Any Preference?

--
 __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com








--
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://biosimilarity.blogspot.com



--
Viktor Klang
Scala Loudmouth



--
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://biosimilarity.blogspot.com

Re: How would you call it when a value turns into a monad?

by Tony Morris-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Pointed/pure/unit

Christos KK Loverdos wrote:

> Hi all,
>
> We know that part of the definition of a monad is that nice little
> <return> function (in Haskell terminology) that embeds a value into
> the Monad. If you agree that <return> is not such a nice description,
> what else can we name it?
>
> I am thinking of what the function does but I am not sure which of
> these phrases might be better:
>
> 1. lifts a value to a monad
> 2. wraps a value as a monad
> 3. injects a value into a monad
> 4. absorbs a value into a monad
> 5. embeds ... [which I used in the opening of this email and I almost
> forgot to enumerate
> 6. turns ... [which is in the subject of the email and I almost forgot
> to enumerate]
>
> .. and I could go on...
>
> As I see it there is no need for just one of them to be the winner but
> is there any one that may capture the semantics better?
>
> Thoughts/Suggestions/Any Preference?
>

--
Tony Morris
http://tmorris.net/



Re: How would you call it when a value turns into a monad?

by Josh Suereth :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Tony,

I thought you prefered unicorn? or was that fluffy?

- Josh

On Tue, Jun 23, 2009 at 8:50 PM, Tony Morris <tonymorris@...> wrote:
Pointed/pure/unit

Christos KK Loverdos wrote:
> Hi all,
>
> We know that part of the definition of a monad is that nice little
> <return> function (in Haskell terminology) that embeds a value into
> the Monad. If you agree that <return> is not such a nice description,
> what else can we name it?
>
> I am thinking of what the function does but I am not sure which of
> these phrases might be better:
>
> 1. lifts a value to a monad
> 2. wraps a value as a monad
> 3. injects a value into a monad
> 4. absorbs a value into a monad
> 5. embeds ... [which I used in the opening of this email and I almost
> forgot to enumerate
> 6. turns ... [which is in the subject of the email and I almost forgot
> to enumerate]
>
> .. and I could go on...
>
> As I see it there is no need for just one of them to be the winner but
> is there any one that may capture the semantics better?
>
> Thoughts/Suggestions/Any Preference?
>

--
Tony Morris
http://tmorris.net/




Re: How would you call it when a value turns into a monad?

by Tony Morris-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Heh. Scalaz uses pure (ala Haskell's Control.Applicative).

Josh Suereth wrote:

> Tony,
>
> I thought you prefered unicorn? or was that fluffy?
>
> - Josh
>
> On Tue, Jun 23, 2009 at 8:50 PM, Tony Morris <tonymorris@...
> <mailto:tonymorris@...>> wrote:
>
>     Pointed/pure/unit
>
>     Christos KK Loverdos wrote:
>     > Hi all,
>     >
>     > We know that part of the definition of a monad is that nice little
>     > <return> function (in Haskell terminology) that embeds a value into
>     > the Monad. If you agree that <return> is not such a nice
>     description,
>     > what else can we name it?
>     >
>     > I am thinking of what the function does but I am not sure which of
>     > these phrases might be better:
>     >
>     > 1. lifts a value to a monad
>     > 2. wraps a value as a monad
>     > 3. injects a value into a monad
>     > 4. absorbs a value into a monad
>     > 5. embeds ... [which I used in the opening of this email and I
>     almost
>     > forgot to enumerate
>     > 6. turns ... [which is in the subject of the email and I almost
>     forgot
>     > to enumerate]
>     >
>     > .. and I could go on...
>     >
>     > As I see it there is no need for just one of them to be the
>     winner but
>     > is there any one that may capture the semantics better?
>     >
>     > Thoughts/Suggestions/Any Preference?
>     >
>
>     --
>     Tony Morris
>     http://tmorris.net/
>
>
>

--
Tony Morris
http://tmorris.net/



Re: How would you call it when a value turns into a monad?

by Landei :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Christos KK Loverdos wrote:
Hi all,

We know that part of the definition of a monad is that nice little  
<return> function (in Haskell terminology) that embeds a value into  
the Monad. If you agree that <return> is not such a nice description,  
what else can we name it?

I am thinking of what the function does but I am not sure which of  
these phrases might be better:

1. lifts a value to a monad
2. wraps a value as a monad
3. injects a value into a monad
4. absorbs a value into a monad
5. embeds ... [which I used in the opening of this email and I almost  
forgot to enumerate
6. turns ... [which is in the subject of the email and I almost forgot  
to enumerate]

.. and I could go on...

As I see it there is no need for just one of them to be the winner but  
is there any one that may capture the semantics better?

Thoughts/Suggestions/Any Preference?

--
  __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com
Monadified?

Cheers,
Daniel

Re: How would you call it when a value turns into a monad?

by Tony Morris-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

It really doesn't have anything to do with a monad. It's just lifting a
value.

Consider:

trait PointedFunctor[F[_]] {
  def fmap[A, B](a: F[A], f: A => B): F[B]
  def pure[A](a: => A): F[A]
}

There exist pointed functors which are not monads.

Or an even simpler example:

trait Pointer[F[_]] {
  def pure[A](a: => A): F[A]
}

Now consider:

case class Endo[A](f: A => A)

...for which an instance of Pointed can be written (val pure = a =>
Endo(_ => a)) but not PointedFunctor and therefore, not Monad.

Landei wrote:

>
> Christos KK Loverdos wrote:
>  
>> Hi all,
>>
>> We know that part of the definition of a monad is that nice little  
>> <return> function (in Haskell terminology) that embeds a value into  
>> the Monad. If you agree that <return> is not such a nice description,  
>> what else can we name it?
>>
>> I am thinking of what the function does but I am not sure which of  
>> these phrases might be better:
>>
>> 1. lifts a value to a monad
>> 2. wraps a value as a monad
>> 3. injects a value into a monad
>> 4. absorbs a value into a monad
>> 5. embeds ... [which I used in the opening of this email and I almost  
>> forgot to enumerate
>> 6. turns ... [which is in the subject of the email and I almost forgot  
>> to enumerate]
>>
>> .. and I could go on...
>>
>> As I see it there is no need for just one of them to be the winner but  
>> is there any one that may capture the semantics better?
>>
>> Thoughts/Suggestions/Any Preference?
>>
>> --
>>   __~O
>> -\ <,       Christos KK Loverdos
>> (*)/ (*)      http://ckkloverdos.com
>>
>>    
>
> Monadified?
>
> Cheers,
> Daniel
>  

--
Tony Morris
http://tmorris.net/



Re: How would you call it when a value turns into a monad?

by Randall Schulz :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tuesday June 23 2009, Christos KK Loverdos wrote:
> ...
>
> As I see it there is no need for just one of them to be the winner
> but is there any one that may capture the semantics better?
>
> Thoughts/Suggestions/Any Preference?

Given the mystical / heroic aura surrounding the constructs that bear so
many cryptic names in the FP literature, how about "enshrine?"


RRS

Re: How would you call it when a value turns into a monad?

by Viktor Klang :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



On Wed, Jun 24, 2009 at 2:48 PM, Randall R Schulz <rschulz@...> wrote:
On Tuesday June 23 2009, Christos KK Loverdos wrote:
> ...
>
> As I see it there is no need for just one of them to be the winner
> but is there any one that may capture the semantics better?
>
> Thoughts/Suggestions/Any Preference?

Given the mystical / heroic aura surrounding the constructs that bear so
many cryptic names in the FP literature, how about "enshrine?"

To mix it with a bit of magic: "enchant"
 



RRS



--
Viktor Klang
Scala Loudmouth

Re: How would you call it when a value turns into a monad?

by Christos KK Loverdos :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Greg, 

You are as always trying to be thorough and explanatory. Incidentally, my intuitive (mostly) conclusions were closer to wrap and lift. Regarding your suggestions on the wrap side, I think I would choose confine and box.

Many thanx to everyone, especially the "enchanted" Viktor and the "enshrined" Randall.

Ah! Now that I think about it, Tony also belongs to the same category as the above two fellas, as his "pure" suggestion gives an RPG-ish impression as well.


Farewell & So Long Avatars!

On Jun 24, 2009, at 12:14 AM, Meredith Gregory wrote:

Christos,

Excellent question. Of the ones you mention, inject and embed have other meanings that don't work in your favor in this context. Absorb also has a different connotation in that the entity so absorbed doesn't necessarily remain intact, whereas there are a great deal of monads that have corresponding comonads allowing for extraction of the value previously "returned".

The intuitions of lift and wrap are good and less unfavorably overloaded. To the wrap side you might add
  • contain
  • confine
  • enclose
  • enfold
  • box
  • hold
To the lift side you might add
  • reify
  • represent
In my experience the container metaphor has the most "juice" for many communication contexts, so i would go with something from the "wrap" column, if it were my call.

Best wishes,

--greg

On Tue, Jun 23, 2009 at 11:45 AM, Christos KK Loverdos <loverdos@...> wrote:
Hi all,

We know that part of the definition of a monad is that nice little <return> function (in Haskell terminology) that embeds a value into the Monad. If you agree that <return> is not such a nice description, what else can we name it?

I am thinking of what the function does but I am not sure which of these phrases might be better:

1. lifts a value to a monad
2. wraps a value as a monad
3. injects a value into a monad
4. absorbs a value into a monad
5. embeds ... [which I used in the opening of this email and I almost forgot to enumerate
6. turns ... [which is in the subject of the email and I almost forgot to enumerate]

.. and I could go on...

As I see it there is no need for just one of them to be the winner but is there any one that may capture the semantics better?

Thoughts/Suggestions/Any Preference?

--
 __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com








--
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://biosimilarity.blogspot.com

-- 
 __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com






Re: How would you call it when a value turns into a monad?

by Meredith Gregory :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Christos,

Robin Milner and i have had a chance to engage on more than one occasion; but, the first time we ever sat down for a more focused discussion i remember with amazing clarity one point in the conversation. i had asked him about a notational choice in his (then) recent bi-graphs paper. We discussed this and he went on to discuss, at length, the notational choices that went into CCS, stating that when a colleague suggested he redo the manuscript for Communication and Concurrency with ordinary English characters, rather than Greek, he considered the idea, agreed and redid the whole manuscript. i realized in this moment that one of the qualities of a man such as Robin is that no detail is unworthy of one's full and complete attention. i recount this story in this connection because the choice of name really does have an impact. It shapes not only our understanding of the notion we are naming, but also the understanding of generations to come. It is therefore right, imho, to bring to bear our full attention on the problem of naming important ideas, such as the parametric notion of composition captured by the idea of monad. You have done one better than i normally do, you brought the community's attention to the matter. Well done.

Best wishes,

--greg

On Wed, Jun 24, 2009 at 6:07 AM, Christos KK Loverdos <loverdos@...> wrote:
Greg, 

You are as always trying to be thorough and explanatory. Incidentally, my intuitive (mostly) conclusions were closer to wrap and lift. Regarding your suggestions on the wrap side, I think I would choose confine and box.

Many thanx to everyone, especially the "enchanted" Viktor and the "enshrined" Randall.

Ah! Now that I think about it, Tony also belongs to the same category as the above two fellas, as his "pure" suggestion gives an RPG-ish impression as well.


Farewell & So Long Avatars!

On Jun 24, 2009, at 12:14 AM, Meredith Gregory wrote:

Christos,

Excellent question. Of the ones you mention, inject and embed have other meanings that don't work in your favor in this context. Absorb also has a different connotation in that the entity so absorbed doesn't necessarily remain intact, whereas there are a great deal of monads that have corresponding comonads allowing for extraction of the value previously "returned".

The intuitions of lift and wrap are good and less unfavorably overloaded. To the wrap side you might add
  • contain
  • confine
  • enclose
  • enfold
  • box
  • hold
To the lift side you might add
  • reify
  • represent
In my experience the container metaphor has the most "juice" for many communication contexts, so i would go with something from the "wrap" column, if it were my call.

Best wishes,

--greg

On Tue, Jun 23, 2009 at 11:45 AM, Christos KK Loverdos <loverdos@...> wrote:
Hi all,

We know that part of the definition of a monad is that nice little <return> function (in Haskell terminology) that embeds a value into the Monad. If you agree that <return> is not such a nice description, what else can we name it?

I am thinking of what the function does but I am not sure which of these phrases might be better:

1. lifts a value to a monad
2. wraps a value as a monad
3. injects a value into a monad
4. absorbs a value into a monad
5. embeds ... [which I used in the opening of this email and I almost forgot to enumerate
6. turns ... [which is in the subject of the email and I almost forgot to enumerate]

.. and I could go on...

As I see it there is no need for just one of them to be the winner but is there any one that may capture the semantics better?

Thoughts/Suggestions/Any Preference?

--
 __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com








--
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://biosimilarity.blogspot.com

-- 

 __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com








--
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://biosimilarity.blogspot.com

Re: How would you call it when a value turns into a monad?

by Randall Schulz :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wednesday June 24 2009, Meredith Gregory wrote:

> Christos,
>
> ... I recount this story in this connection because the choice
> of name really does have an impact. It shapes not only our
> understanding of the notion we are naming, but also the understanding
> of generations to come. It is therefore right, imho, to bring to bear
> our full attention on the problem of naming important ideas, such as
> the parametric notion of composition captured by the idea of monad.
> You have done one better than i normally do, you brought the
> community's attention to the matter. Well done.

For me this issue manifests itself as the need to have a word or short
phrase I can pronounce in my head for the myriad of symbols I encounter
in the academic publications I seek out when looking for ideas and
solutions to problems I face.

Take a paper on term rewriting, it will make frequent reference to a
variety of ordering relations. Typically the < and <= (in the usual <
with underbar form for which I have no compose key sequence at the
moment) are used for general ordering relations and we all know the
name for these from grade school. There will also typically be a square
version of this operator. I usually pronounce these "precedes," though
I don't believe I've ever heard or read this suggested anywhere. In
Scala there are the <: and <% type-relation operators, e.g. I pronounce
these "conforming to" and "viewable as," resp. And so on.

There is an inherent tension in the choice of these notations. We can't
very well write out "conforming to" everywhere we would not use <: but
I think rather few people can directly read expressions involving a
plethora of symbols like <:, <%, :: /: :\, etc.

What's to be done? We need the punctuational forms for conciseness, but
human linguistic abilities revolve around words with pronunciations.

So I think every bit of punctuational vocabulary we define should be
accompanied by a suggested one- or two-word pronunciation.

Of course, then translation of these natural language counterparts into
other languages becomes an issue. The "universality" of symbolic
(non-verbal) representations is often given as an advantage, but it's a
meager advantage if it's just a universality of gibberish.


> Best wishes,
>
> --greg


Randall Schulz

Re: How would you call it when a value turns into a monad?

by Randall Schulz :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wednesday June 24 2009, Meredith Gregory wrote:
> Christos,
>
> Robin Milner and i have had a chance to engage on more than one
> occasion; ... We discussed this and he went on to discuss,
> at length, the notational choices that went into CCS, stating that
> when a colleague suggested he redo the manuscript for Communication
> and Concurrency with ordinary English characters, rather than Greek,
> he considered the idea, agreed and redid the whole manuscript. ...

By the way, Greek is not much of a problem, I think, since the letters
of the Greek alphabet do have a pronunciation that many know and all
can learn.


> Best wishes,
>
> --greg


Randall Schulz

Re: How would you call it when a value turns into a monad?

by Christos KK Loverdos :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

And If anyone has any problem with Greek just ask: I am Greek! Still  
learning my language though, but some scientific Greek may well be  
within my reach.

By the way, you can't imagine my joy with Scala as just a name, since  
the Greek word for stairs is "Σκάλα" and it is pronounced the  
same :)

BR
Christos

On Jun 24, 2009, at 7:23 PM, Randall R Schulz wrote:

> On Wednesday June 24 2009, Meredith Gregory wrote:
>> Christos,
>>
>> Robin Milner and i have had a chance to engage on more than one
>> occasion; ... We discussed this and he went on to discuss,
>> at length, the notational choices that went into CCS, stating that
>> when a colleague suggested he redo the manuscript for Communication
>> and Concurrency with ordinary English characters, rather than Greek,
>> he considered the idea, agreed and redid the whole manuscript. ...
>
> By the way, Greek is not much of a problem, I think, since the letters
> of the Greek alphabet do have a pronunciation that many know and all
> can learn.
>
>
>> Best wishes,
>>
>> --greg
>
>
> Randall Schulz

--
  __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com






Re: How would you call it when a value turns into a monad?

by Christos KK Loverdos :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Greg,

Notation and naming are of added value that is underestimated.

What I find equally important here is that a mostly practitioner and a person with good theoretical background both converge to this theme, the need for proper naming.

BR
Christos

On Jun 24, 2009, at 6:28 PM, Meredith Gregory wrote:

Christos,

Robin Milner and i have had a chance to engage on more than one occasion; but, the first time we ever sat down for a more focused discussion i remember with amazing clarity one point in the conversation. i had asked him about a notational choice in his (then) recent bi-graphs paper. We discussed this and he went on to discuss, at length, the notational choices that went into CCS, stating that when a colleague suggested he redo the manuscript for Communication and Concurrency with ordinary English characters, rather than Greek, he considered the idea, agreed and redid the whole manuscript. i realized in this moment that one of the qualities of a man such as Robin is that no detail is unworthy of one's full and complete attention. i recount this story in this connection because the choice of name really does have an impact. It shapes not only our understanding of the notion we are naming, but also the understanding of generations to come. It is therefore right, imho, to bring to bear our full attention on the problem of naming important ideas, such as the parametric notion of composition captured by the idea of monad. You have done one better than i normally do, you brought the community's attention to the matter. Well done.

Best wishes,

--greg

On Wed, Jun 24, 2009 at 6:07 AM, Christos KK Loverdos <loverdos@...> wrote:
Greg, 

You are as always trying to be thorough and explanatory. Incidentally, my intuitive (mostly) conclusions were closer to wrap and lift. Regarding your suggestions on the wrap side, I think I would choose confine and box.

Many thanx to everyone, especially the "enchanted" Viktor and the "enshrined" Randall.

Ah! Now that I think about it, Tony also belongs to the same category as the above two fellas, as his "pure" suggestion gives an RPG-ish impression as well.


Farewell & So Long Avatars!

On Jun 24, 2009, at 12:14 AM, Meredith Gregory wrote:

Christos,

Excellent question. Of the ones you mention, inject and embed have other meanings that don't work in your favor in this context. Absorb also has a different connotation in that the entity so absorbed doesn't necessarily remain intact, whereas there are a great deal of monads that have corresponding comonads allowing for extraction of the value previously "returned".

The intuitions of lift and wrap are good and less unfavorably overloaded. To the wrap side you might add
  • contain
  • confine
  • enclose
  • enfold
  • box
  • hold
To the lift side you might add
  • reify
  • represent
In my experience the container metaphor has the most "juice" for many communication contexts, so i would go with something from the "wrap" column, if it were my call.

Best wishes,

--greg

On Tue, Jun 23, 2009 at 11:45 AM, Christos KK Loverdos <loverdos@...> wrote:
Hi all,

We know that part of the definition of a monad is that nice little <return> function (in Haskell terminology) that embeds a value into the Monad. If you agree that <return> is not such a nice description, what else can we name it?

I am thinking of what the function does but I am not sure which of these phrases might be better:

1. lifts a value to a monad
2. wraps a value as a monad
3. injects a value into a monad
4. absorbs a value into a monad
5. embeds ... [which I used in the opening of this email and I almost forgot to enumerate
6. turns ... [which is in the subject of the email and I almost forgot to enumerate]

.. and I could go on...

As I see it there is no need for just one of them to be the winner but is there any one that may capture the semantics better?

Thoughts/Suggestions/Any Preference?

--
 __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com








--
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://biosimilarity.blogspot.com

-- 

 __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com








--
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://biosimilarity.blogspot.com

-- 
 __~O
-\ <,       Christos KK Loverdos
(*)/ (*)      http://ckkloverdos.com