Duncan Coutts wrote:
On Fri, 2005-06-03 at 10:53 +0200, Gracjan Polak wrote:

As intern behaves like id and does not have any side effects, I thought its interface should be purely functional. But I do not see any way to do it :( I'll end up with a monad, probably.


In related question: does anybody here have experience/benchmarks/tests how/if is PackedString better (uses less memory) than String in parsing tasks?


GHC itself uses a rather low level thing it calls FastString which is
basically a pointer into a character array with a length and a unique
id. The unique ids are allocated by entering each FastString into a
global hash table which also provides sharing if the same string is seen
more than once (like your itern feature).

I thought FastString was first incarnation of PackedString, thanks for the hint it could be something more.

Does HaXml use any such optimization for XML element name handling?


It is all very low level and ghc-specific however and probably only
makes sence in a compiler-like application.

Exactly my setting.


Duncan

--
Gracjan
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to