Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > comp.lang.java.programmer > #5312

Re: Call by Result

Path csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news.glorb.com!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!post01.iad.highwinds-media.com!newsfe20.iad.POSTED!8ad76e89!not-for-mail
From Arved Sandstrom <asandstrom3minus1@eastlink.ca>
User-Agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110424 Lightning/1.0b2 Thunderbird/3.1.10
MIME-Version 1.0
Newsgroups comp.lang.java.programmer
Subject Re: Call by Result
References <nkc3v61jg7i21l7n482ce561dq9fdogg3m@4ax.com> <slrniv3i5o.phi.avl@gamma.logic.tuwien.ac.at> <95e4uuF3cvU1@mid.individual.net> <G8nIp.1578$SG4.1543@newsfe03.iad> <slrniv461g.phi.avl@gamma.logic.tuwien.ac.at> <8CtIp.4644$PA5.4578@newsfe01.iad> <slrniv9qag.phi.avl@gamma.logic.tuwien.ac.at> <4df5290c$0$49183$e4fe514c@news.xs4all.nl> <slrnivefbp.phi.avl@gamma.logic.tuwien.ac.at> <4df77a95$0$49041$e4fe514c@news.xs4all.nl>
In-Reply-To <4df77a95$0$49041$e4fe514c@news.xs4all.nl>
Content-Type text/plain; charset=ISO-8859-1
Content-Transfer-Encoding 7bit
Lines 57
Message-ID <_XPJp.2060$g12.487@newsfe20.iad> (permalink)
X-Complaints-To abuse@newsgroups-download.com
NNTP-Posting-Date Tue, 14 Jun 2011 20:58:34 UTC
Organization Public Usenet Newsgroup Access
Date Tue, 14 Jun 2011 17:58:33 -0300
Xref x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:5312

Show key headers only | View raw


On 11-06-14 12:13 PM, Silvio wrote:
> On 06/14/2011 12:52 PM, Andreas Leitgeb wrote:
>> Silvio<silvio@moc.com>  wrote:
>>> Well, here is an example in Scala:
>>>   [...]
>>> def getString(s : String) : Option[String] =
>>> {
>>>      if (s.reverse == s) Some(s.toLowerCase)
>>>      else None
>>> }
>>>   [...]
>>>   val t = getString(s)
>>>   [...]
>>> t match
>>> {
>>>      case Some(r) =>  println("Success, return value is: " + r)
>>>      case None =>  println("Failure")
>>> }
>>
>> Ah, thanks.  Yep, I've seen this concept once when playing with
>> OCaml (which mentions Haskell as one of its roots). Never got
>> warm with it, though.
>>
>> In the end, it isn't all that more concise than C++/Java...
>> It's a bit like C's unions with some byte ahead to tell which
>> of the variants is the current one, and bunch of logical operations
>> that is often trivially converted into a couple of (possibly nested)
>> "if-else"s.   I'm not saying it's bad, just it didn't impress me all
>> that much, so far.
>>
> 
[ SNIP ]

> Only when used in combination with other monads does Option shine.
> 
> Pattern matching is very powerful because it unifies matching on types
> and values AND extracting sub-values from matched values. But it would
> deserve better examples than the one I provided.
> 
> One would have to consider a larger piece of code to appreciate it as a
> whole instead of looking at isolated language features.

+1.

Either larger chunks of code, and/or chaining of operations. With Option
or Maybe, you don't have to check every intermediate result. With
idiomatic Haskell or Scala you'd probably not see a whole bunch of
pattern matching for Maybe or Option at all.

It's way more concise than Java, and another advantage still remains
that we're not looking for a special value (null).

> Cheers,
> 
> Silvio

AHS

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-09 23:03 -0700
  Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-10 07:33 +0000
    Re: Call by Result Nigel Wade <nmw-news@ion.le.ac.uk> - 2011-06-10 10:03 +0100
      Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-10 09:47 +0000
      Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-10 08:23 -0300
        Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-10 13:12 +0000
          Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-10 15:44 -0300
            Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-12 16:29 +0000
              Re: Call by Result Silvio <silvio@moc.com> - 2011-06-12 23:00 +0200
                Re: Call by Result Silvio <silvio@moc.com> - 2011-06-12 23:06 +0200
                Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-14 10:52 +0000
                Re: Call by Result Silvio <silvio@moc.com> - 2011-06-14 17:13 +0200
                Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-14 17:58 -0300
                Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-14 21:18 +0000
                Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-14 20:14 -0300
                Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-15 07:13 -0300
                Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-15 12:50 +0000
                Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-15 18:52 -0300
                Re: Call by Result lewbloch <lewbloch@gmail.com> - 2011-06-15 07:06 -0700
                Re: Call by Result Michael Wojcik <mwojcik@newsguy.com> - 2011-06-15 21:33 -0400
                Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-16 11:03 +0000
                Re: Call by Result "H.J. Sander Bruggink" <sander.bruggink@uni-due.de> - 2011-06-16 13:09 +0200
                Re: Call by Result Lewis Bloch <lewisbloch@google.com> - 2011-06-16 06:59 -0700
                Re: Call by Result "John B. Matthews" <nospam@nospam.invalid> - 2011-06-16 23:14 -0400
        Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:31 -0700
          Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-12 14:27 -0300
      Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-10 07:20 -0700
      Re: Call by Result Patricia Shanahan <pats@acm.org> - 2011-06-10 09:30 -0700
        Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:44 -0700
    Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:26 -0700
      Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-11 15:07 +0000
        Re: Call by Result Abu Yahya <abu_yahya@invalid.com> - 2011-06-11 23:00 +0530
          Re: Call by Result Martin Gregorie <martin@address-in-sig.invalid> - 2011-06-11 19:36 +0000
            Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-11 21:06 +0000
              Re: Call by Result Martin Gregorie <martin@address-in-sig.invalid> - 2011-06-12 10:53 +0000
                Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-12 09:28 -0700
                Re: Call by Result Martin Gregorie <martin@address-in-sig.invalid> - 2011-06-12 17:48 +0000
                Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-12 13:19 -0700
            Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-11 15:39 -0700
              Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-12 11:07 +0000
                Re: Call by Result markspace <-@.> - 2011-06-12 07:02 -0700
                Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-12 09:39 -0700
                Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-14 10:29 +0000
                Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-14 09:14 -0700
                Re: Call by Result markspace <-@.> - 2011-06-14 09:21 -0700
                Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-14 09:53 -0700
                Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-14 09:57 -0700
            Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-12 21:44 -0700
        Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-12 21:40 -0700
  Re: Call by Result Patricia Shanahan <pats@acm.org> - 2011-06-10 01:30 -0700
    Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:45 -0700
  Re: Call by Result Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-06-10 07:50 -0400
  Re: Call by Result Silvio <silvio@moc.com> - 2011-06-10 15:35 +0200
  Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-10 13:56 +0000
  Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-10 07:22 -0700
    Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:56 -0700
    Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:57 -0700
      Re: Call by Result Patricia Shanahan <pats@acm.org> - 2011-06-10 13:50 -0700
        Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-12 21:53 -0700
          Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-13 07:20 -0300
            Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-13 08:08 -0700
      Re: Call by Result Wojtek <nowhere@a.com> - 2011-06-11 16:35 -0700
        Re: Call by Result Martin Gregorie <martin@address-in-sig.invalid> - 2011-06-12 11:05 +0000
        Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-12 21:56 -0700
          Re: Call by Result Wojtek <nowhere@a.com> - 2011-06-14 00:40 -0700
    Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-11 21:18 +0000
  Re: Call by Result markspace <-@.> - 2011-06-10 08:43 -0700
  Re: Call by Result RedGrittyBrick <RedGrittyBrick@spamweary.invalid> - 2011-06-10 17:01 +0100
    Re: Call by Result Martin Gregorie <martin@address-in-sig.invalid> - 2011-06-10 16:55 +0000
    Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:59 -0700
      Re: Call by Result Wojtek <nowhere@a.com> - 2011-06-11 16:24 -0700
        Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-12 21:59 -0700
          Re: Call by Result Paul Cager <paul.cager@googlemail.com> - 2011-06-13 07:53 -0700
          Re: Call by Result Wojtek <nowhere@a.com> - 2011-06-14 00:43 -0700
  Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:55 -0700
  Re: Call by Result Steven Simpson <ss@domain.invalid> - 2011-06-11 09:09 +0100
  Re: Call by Result Cholo Lennon <chololennon@hotmail.com> - 2011-06-16 11:30 -0300
    Re: Call by Result Paul Cager <paul.cager@googlemail.com> - 2011-06-17 02:38 -0700
      Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-17 12:06 -0700
    Re: Call by Result lewbloch <lewbloch@gmail.com> - 2011-06-17 06:40 -0700
      Re: Call by Result Cholo Lennon <chololennon@hotmail.com> - 2011-06-17 11:43 -0300

csiph-web