Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #8653
| 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> |
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 | Next — Previous in thread | Find similar
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