Currently we sometimes use special closures to mark end of lists of different objects. Some examples:
- END_TSO_QUEUE - END_STM_WATCH_QUEUE - END_STM_CHUNK_LIST But we also use NULL for the same thing, e.g. in weak pointer lists (old_weak_ptr_list, weak_ptr_list). I'm wondering why we need special marker objects (which are actual closures with info tables) instead of using NULL consistently. Current approach causes a minor problem when working on the RTS because every time I traverse a list I need to remember how the list is terminated (e.g. NULL when traversing weak pointer lists, END_TSO_QUEUE when traversing TSO lists). Ömer _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs