Why not use closures to hide the differences in parameters that the procs take?
    
    
    proc takesIntAndString(param: int; paramB: string) = echo param, " ", paramB
    
    proc makeCompatible(param: int; paramB: string): (proc ()) =
      result = proc () =
        takesIntAndString(param, paramB)
    
    
    var procedures: seq[proc ()] = @[]
    procedures.add makeCompatible(1, "abc")
    
    

Reply via email to