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


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

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

From Jan Burse <janburse@fastmail.fm>
Newsgroups comp.lang.java.programmer
Subject Re: CICE and ARM --> Closure, how?
Date 2011-10-09 00:54 +0200
Organization albasani.net
Message-ID <j6qkbm$vbb$2@news.albasani.net> (permalink)
References <j6npgg$gv5$1@news.albasani.net> <j6o00f$kvk$1@dont-email.me>

Show all headers | 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