Optimization & Destructive Updates

Robert Dockins robdockins at fastmail.fm
Fri Apr 14 13:34:54 EDT 2006


On Apr 14, 2006, at 12:25 PM, Lajos Nagy wrote:

> I was just musing the other day about the possibility of allowing  
> (efficient and transparent) destructive updates in certain  
> situations. Take the following (giberish) example:
>
> f xs = g xs []
>   where g [] ac = ac
>         g (x1:x2:xs) ac = g xs (ac ++ [x2,x1])
>
> It seems to me that the list concatenation in the tail recursion  
> call can be safely performed destructively.  Does anybody know  
> about any research going on in this area?  (Mind you: no linear  
> types, no monads, only `under the hood' compiler optimization.)
>
> I'm aware of the fact that this would imply another kind of  
> overloading (destructive vs. non-destructive) for functions which  
> also seems an interesting research area.

http://portal.acm.org/citation.cfm?id=99375&dl=GUIDE&coll=GUIDE

Its a little old, but covers some interesting ground.


> Regards,
>
> -- Lajos Nagy
> Computer Science Ph.D. Student,  Florida Institute of Technology
>
>
> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at haskell.org
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users



Speak softly and drive a Sherman tank.
Laugh hard; it's a long way to the bank.
           -- TMBG





More information about the Glasgow-haskell-users mailing list