Rein funktionale Sprachen sind in dem Sinn nicht algorithmisch, dass sie keinerlei Kontrolle über die Reihenfolge der Abarbeitung oder Nebeneffekten wie Speicherbedarf erlauben, soweit das Endergebnis davon nicht beeinflusst wird. Algorithmen sind hier also keine »genau definierte Handlungsvorschrift« [erster Satz von Algorithmus], sondern zu einem guten Teil nur Ansammlungen von Randbedingungen, die ein bestimmtes Ergebnis determinieren, ohne den Ablauf im Detail festzulegen (wobei es im Allgemeinen natürlich sowohl Vor- als auch Nachteile hat, die Optimierung zu einem größeren Teil dem Compiler zu überlassen).