User-specified input buffers could be added in order to reduce the amount of 
allocations that are performed: 
    
    
    proc slice(s: string; first, last: int; ret: var string) =
      for i in first .. last:
        ret.add s[i]
    

Then there's the issue of not being able to choose which type of allocations to 
use for large parts of the standard library, and some people seem to be 
convinced that this will remain the case for some reason, but hopefully we can 
prove these people wrong. Things that make it difficult to adapt the modules in 
this regard include things such as broken concepts and possibly the absence of 
other language features that might make it more convenient to develop and use 
such interfaces.

Reply via email to