On Thu, Jan 12, 2012 at 12:54 AM, Simon Marlow <[email protected]> wrote:
> For boxed arrays you need a PrimOp of course (like catMutVar#).  For unboxed
> arrays you could get away with FFI, but a PrimOp would be better because it
> could be inline.  But to get it inline would mean modifying the native and
> LLVM backends to support CAS operations.
>
> If I were you I would use FFI for now.  The cost of the out-of-line call is
> much less than the cost of the CAS anyway.  A gcc dependency is not a big
> deal, it's available on all Unix-like platforms and I don't see us removing
> it from the Windows installs any time soon.

In a recent project (http://hackage.haskell.org/package/ekg) I found
myself wanting unboxed mutable integers with CAS semantics (to
implement simple counters). What would be required to support

 (1) unboxed mutable variables, and
 (2) CAS semantics for these.

I guess (2) is easy once you have (1). Just add some new primops.

-- Johan

_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to