[MLton-user] Feature request: MLton.Finalizable
    John Reppy 
    jhreppy at mac.com
       
    Mon Jun  2 07:29:16 PDT 2008
    
    
  
I'm using finalization as a backstop for explicit management
of resources (e.g., textures and shaders).  I typically use the type
	Int32.int option ref MLton.Finalizable.t
to represent these resources and set the ref to NONE when it
has been explicitly deallocated.  I could streamline this
process with the addition of the following two operations to
the Finalizable structure:
       (* remove all finalization functions from the object *)
	val cancelFinalizers : 'a t -> unit
       (* change the state of the finalized object *)
	val update ('a t * 'a) -> unit
The implementation is straightforward:
	fun cancelFinalizers (T{finalizers, ...}) = finalizers := []
	fun update (T{value, ...}, x) = value := x
Any chance of getting these added to MLton?
	- John
    
    
More information about the MLton-user
mailing list