|
View:
New views
20 Messages
—
Rating Filter:
Alert me
|
|
|
How would you call it when a value turns into a monad?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?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?> 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?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
Best wishes, --greg On Tue, Jun 23, 2009 at 11:45 AM, Christos KK Loverdos <loverdos@...> wrote: Hi all, -- 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?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, -- Viktor Klang Scala Loudmouth |
|
|
Re: How would you call it when a value turns into a monad?"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?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: -- 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?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?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 |
|
|
Re: How would you call it when a value turns into a monad?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?Monadified? Cheers, Daniel |
|
|
Re: How would you call it when a value turns into a monad?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?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?On Wed, Jun 24, 2009 at 2:48 PM, Randall R Schulz <rschulz@...> wrote:
To mix it with a bit of magic: "enchant"
-- Viktor Klang Scala Loudmouth |
|
|
Re: How would you call it when a value turns into a monad?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, -- __~O -\ <, Christos KK Loverdos (*)/ (*) http://ckkloverdos.com |
|
|
Re: How would you call it when a value turns into a monad?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:
-- 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?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?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?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?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, -- __~O -\ <, Christos KK Loverdos (*)/ (*) http://ckkloverdos.com |
| Free embeddable forum powered by Nabble | Forum Help |