This algorithm is specifically designed to drive a ComputerCraft turtle around unbreakable blocks. Prioritizing best case performance in a way that would be compatible with an unbounded graph. There was also an attempt to penalize turning around, but it didn't really work...
Because lua (or javascript actually) doesn't have a priority queue, it actually uses a normal array and manually sorts it every time.
You can click tiles to place obstacles and scroll to change the maximum length of the path.