What is the intention of program below?
```
from heapq import *

def shortest_path_length(line_length, start, destination):
    unknown_points = [] # FibHeap containing (node, distance) pairs
    known_points = set()
    heappush(unknown_points, (0, start))

    while len(unknown_points) > 0:
        length, point = heappop(unknown_points)
        if point is destination:
            return length

        known_points.add(point)

        for next in point.successors:
            if next in known_points:
                continue

            insert_or_update(unknown_points,
                (min(
                    get(unknown_points, next) or float('inf'),
                    length + line_length[point, next]
                ),
                next)
            )

    return float('inf')


def get(unknown_points, target_node):
    for dist, node in unknown_points:
        if target_node == node:
            return dist
    return 0

def insert_or_update(node_pile, target_node):
    dist, node = target_node
    for i, tpl in enumerate(node_pile):
        a, b = tpl
        if b == node:
            node_pile[i] = target_node #heapq retains sorted property
            return None

    heappush(node_pile, target_node)
    return None
``` Write your response with exactly 5 paragraphs, separated with the markdown divider: ***.
user