哪些语言没有循环结构?

Bra*_*don 9 recursion

哪种语言只是递归语言?

rjh*_*rjh 6

这取决于循环构造的含义 - 有几种类型.无限循环,迭代器 - 计算数组或散列中每个项的循环 - 以及像C风格的一般循环

for ( int i = 0; i < 10; i++ )
Run Code Online (Sandbox Code Playgroud)

维基百科有一个按语言支持这种结构的:循环系统交叉引用表

为了完整地回答你的问题,HaskellScheme是两个没有for内置标准循环的语言示例; 它们通常使用递归来完成.


JUS*_*ION 5

函数式编程语言(例如Haskell,Erlang)通常没有循环,也没有函数级语言(例如FP,J)或逻辑语言(例如Prolog,Planner).实际上,几乎所有声明性语言(功能,功能级别,逻辑等都是子集)都倾向于没有循环结构.

但...

据说很多人都有与显式循环相同的方法.例如,Common Lisp具有宏,使您能够在幕后通过宏技巧循环执行看起来像常规,等等的循环.Dylan(一个非常不像Lisp的Lisp)向前迈进了一步,将这些宏提升为有效的语言部分(虽然语义仍然可以用递归和宏来定义).在拉链,贴图,折叠,取镜等函数式语言中的常见操作是更高级的函数,它们掩盖函数调用后的显式递归,并以多种方式操作,如各种循环结构.