Clojure

IAtom interface

Details

  • Type: Enhancement Enhancement
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Completed
  • Affects Version/s: Release 1.6
  • Fix Version/s: Release 1.7
  • Component/s: None
  • Labels:
  • Patch:
    Code
  • Approval:
    Ok

Description

Atom does not have an interface and is marked final. This patch extracts an IAtom interface and has Atom implement it.

Patch: 0001-atom-interface.patch

Screened by: Alex Miller

More info: Rich said "patch welcome for IAtom". See IRC logs: http://clojure-log.n01se.net/date/2010-12-29.html#10:04c

  1. 0001-atom-interface.patch
    28/May/11 3:39 AM
    3 kB
    Pepijn de Vos
  2. iatom.patch
    27/May/11 8:57 AM
    3 kB
    Pepijn de Vos

Activity

Pepijn de Vos made changes -
Field Original Value New Value
Attachment 0001-atom-interface.patch [ 10244 ]
Aaron Bedra made changes -
Assignee Aaron Bedra [ aaron ]
Fix Version/s Approved Backlog [ 10034 ]
Alex Miller made changes -
Fix Version/s Approved Backlog [ 10034 ]
Fix Version/s Backlog [ 10035 ]
Alex Miller made changes -
Fix Version/s Backlog [ 10035 ]
Brandon Bloom made changes -
Attachment 0001-CLJ-803-IAtom-interface-static-Atom-swap.patch [ 13171 ]
Rich Hickey made changes -
Approval Vetted [ 10003 ]
Affects Version/s Release 1.6 [ 10157 ]
Fix Version/s Release 1.7 [ 10250 ]
Alex Miller made changes -
Assignee Aaron Bedra [ aaron ]
Alex Miller made changes -
Approval Vetted [ 10003 ] Incomplete [ 10006 ]
Brandon Bloom made changes -
Attachment 0001-CLJ-803-IAtom-interface-static-Atom-swap.patch [ 13171 ]
Brandon Bloom made changes -
Description Atom and the other reference types do not have interfaces and are marked final.

Use cases for interfaces for the reference types include database wrappers. CouchDB behaves exactly like compare-and-set! and is shared, synchronous, independent state, so it makes sense to use the Atom interface to update a CouchDB document.

I talked to Rich about this, and he said "patch welcome for IAtom", complete conversation: http://clojure-log.n01se.net/date/2010-12-29.html#10:04c
Atom and the other reference types do not have interfaces and are marked final.

Alternative IAtom implementations make sense for certain database abstractions.

Rich said "patch welcome for IAtom". See IRC logs: http://clojure-log.n01se.net/date/2010-12-29.html#10:04c
Alex Miller made changes -
Approval Incomplete [ 10006 ] Vetted [ 10003 ]
Alex Miller made changes -
Approval Vetted [ 10003 ] Screened [ 10004 ]
Description Atom and the other reference types do not have interfaces and are marked final.

Alternative IAtom implementations make sense for certain database abstractions.

Rich said "patch welcome for IAtom". See IRC logs: http://clojure-log.n01se.net/date/2010-12-29.html#10:04c
Atom does not have an interface and is marked final. This patch extracts an IAtom interface and has Atom implement it.

*Patch:* 0001-atom-interface.patch

*Screened by:* Alex Miller

*More info:* Rich said "patch welcome for IAtom". See IRC logs: http://clojure-log.n01se.net/date/2010-12-29.html#10:04c
Labels atom
Alex Miller made changes -
Fix Version/s Release 1.7 [ 10250 ]
Fix Version/s Release 1.8 [ 10254 ]
Rich Hickey made changes -
Approval Screened [ 10004 ] Ok [ 10007 ]
Fix Version/s Release 1.8 [ 10254 ]
Fix Version/s Release 1.7 [ 10250 ]
Stuart Halloway made changes -
Resolution Completed [ 1 ]
Status Open [ 1 ] Closed [ 6 ]

People

Vote (4)
Watch (5)

Dates

  • Created:
    Updated:
    Resolved: