Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


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

Re: CICE and ARM --> Closure, how?

Path csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!.POSTED!not-for-mail
From Jan Burse <janburse@fastmail.fm>
Newsgroups comp.lang.java.programmer
Subject Re: CICE and ARM --> Closure, how?
Date Sun, 09 Oct 2011 00:54:44 +0200
Organization albasani.net
Lines 54
Message-ID <j6qkbm$vbb$2@news.albasani.net> (permalink)
References <j6npgg$gv5$1@news.albasani.net> <j6o00f$kvk$1@dont-email.me>
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding 7bit
X-Trace news.albasani.net FSxynLyEtAjw5qbDXaXKVe6HCLNbs91vDe5LfianslL63PYQ7r9HA9goM8/3fV0zp16scU7TRJjqf07diCVgBg==
NNTP-Posting-Date Sat, 8 Oct 2011 22:54:46 +0000 (UTC)
Injection-Info news.albasani.net; logging-data="aQUVeIMbSCOa0S/ELlKTP+t+Lf5L44tZsfulVdnU0i+YrkQTKFVQSDnqxW7wsFVqqmtK2sHTxcIYuTlH9iqs60ZrXOEAWN4n01m3ruFdDPw2bkqoNP1u1FY8bQrSYaWC"; mail-complaints-to="abuse@albasani.net"
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20110928 Firefox/7.0.1 SeaMonkey/2.4.1
In-Reply-To <j6o00f$kvk$1@dont-email.me>
Cancel-Lock sha1:TCKH1QRN6hUWkB0xy6E7NRiqJak=
Xref x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:8653

Show key headers only | View raw


Thanks for the explanation.

Joshua Cranmer schrieb:
> On 10/7/2011 4:04 PM, Jan Burse wrote:
>> Dear All,
>>
>> I am just reading on the Wiki page of Josh Bloch:
>>
>> Bloch has proposed the extension of the Java
>> programming language with two features: Concise
>> Instance Creation Expressions (CICE) (coproposed
>> with Bob Lee and Doug Lea) and Automatic
>> Resource Management (ARM) blocks. The combination
>> of CICE and ARM formed one of the three early
>> proposals for adding support for closures to Java.
>>
>> By ARM I understand the try-with-resource. Can somebody
>> explain me how this together with CICE is related to
>> closure? In a few sentences without looking much at
>> other proposals. I don't have any clue from the hip.
>
> CICE+ARM was Bloch (and other)'s counterproposal to the other two main
> closure proposals, BGGA (the acronym comes from the authors' names), and
> FCM (First-Class Methods) (I think--I know a lot less about this than
> the other two).
>
> To call it a closures proposal is a slight misnomer, since it's more
> like a "we don't want closures, but we can lighten up on necessary
> syntax today." The ARM part is a response to BGGA's trumpeting of the
> ability to do `withLock(lock) { }' via closures, by solving the
> most-requested (and pretty much only requested) new control flow idiom,
> which is the largest source of BGGA's complexity.
>
> CICE, on the other hand, points out that Java already has limited closures:
>
> new Thread(new Runnable() {
> public void run() {
> System.out.println("Look at me!");
> }});
>
> It proposed to "satisfy" demands for closures by reducing the syntax of
> that expression to just:
> new Thread(new Runnable() { System.out.println("Look at me!"); });
>
> In other words, CICE+ARM boils down to the following things:
> 1. Reduce verbosity of anonymous inner classes (which are already a
> light form of closures)
> 2. Add the automatic resource management idiom to reduce the desire for
> creating custom control-flow graphs.
>
> It really isn't adding anything new in the realm of closures, it is
> merely about syntactic sugar to satisfy most common use cases.
>

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


Thread

CICE and ARM --> Closure, how? Jan Burse <janburse@fastmail.fm> - 2011-10-07 23:04 +0200
  Re: CICE and ARM --> Closure, how? Joshua Cranmer <Pidgeot18@verizon.invalid> - 2011-10-07 17:55 -0500
    Re: CICE and ARM --> Closure, how? Jan Burse <janburse@fastmail.fm> - 2011-10-09 00:54 +0200

csiph-web