Last time I checked, `iterable` was useless as it's designed to work only in 
templates.

Native iterators in Nim don't compose without macro-trickery, such as 
zero_functional. Actually, the only good thing I can say about them is when 
they _do_ work, they are as fast as loops (which they are).
    
    
    import std/[tables]
    import pkg/zero_functional
    
    # A mapping from coordinates (x, y) to values.
    var locations = {(1, 2): 1, (2, 1): 2, (-2, 5): 3}.toTable()
    
    # Get the minimum X coordinate.
    echo locations.keys --> map(it[0]).min()
    
    # -2
    
    
    Run

Reply via email to