List Recv wrote:
> How do I make a thread specific Singleton?
>
> That is, once instance per thread.

Thread.current[:my_singleton_id] ||= whatever_creation_expression

> Related question: why do Singleton's use the Name.instance.method
> idiom (using instance methods) as opposed to Name.method (using class
> methods), which seems simpler and clearer.

It's the typical way the singleton pattern works.  Not all PL have Ruby's
flexibility with methods on class instances.  Also you can still inherit
the class and have derived classes that do not use singleton pattern but
can still use super class methods.  I probably missed something else.

Kind regards

    robert