函数式编程语言(例如Haskell,Erlang)通常没有循环,也没有函数级语言(例如FP,J)或逻辑语言(例如Prolog,Planner).实际上,几乎所有声明性语言(功能,功能级别,逻辑等都是子集)都倾向于没有循环结构.
但...
据说很多人都有与显式循环相同的方法.例如,Common Lisp具有宏,使您能够在幕后通过宏技巧循环执行看起来像常规,等等的循环.Dylan(一个非常不像Lisp的Lisp)向前迈进了一步,将这些宏提升为有效的语言部分(虽然语义仍然可以用递归和宏来定义).在拉链,贴图,折叠,取镜等函数式语言中的常见操作是更高级的函数,它们掩盖函数调用后的显式递归,并以多种方式操作,如各种循环结构.