best for ackermann interactive sum? fibonaccifactorial? ? fibonacci
class lexicographic repetition conditional repetition primitive repetition unconditional repetition
command urn lexicographic-recursionrecursion [0]nat_iter + higher-order functions [0] while with statement on conditiondoc's forwhile without statement on conditiondo whileurn alambdaxcondcondnestrec times 1nat_iterurn times binding 2primrecpascal's for 3step 4foreachfold anonymous recursionloop-recurnamed recursiongoto simultaneous assignment trisquelparabolawebinterpreter
language
urn racket yesnono yesyesnononoyesno noyesfornoexclusive: for in-rangeexclusive: for in-rangeforyes localnoyesno set!-values nonoyes
urn racket pro yesnono yesyesnononoyesno noyesforyesexclusive: for in-rangeexclusive: for in-rangeforyes localnoyesno set!-values nonoyes
coq noyesyes nonononononono noyesnonat_recnononofold_left, fold_right localnoyesno no yesyesyes (no shebang)
ruby nonono whilenononomodifier whilenono times, eachnotimes, eachnouptounsafe: stepfor, setinject, reduce localnoyesno yes yesyesyes
joy nonono nononostackstack: repeatnostack nostack: timesnostacknonostepstack: fold, fold2 __ANON_FUNCTnoyesno stack nonoyes
javascript [1] nonono yesnoyesnoyesnono nononononoyes (no iota)reduce arguments.calleenoyesno yes yesjs52, js60yesyes
clojure nonono yesnononononono nonodotimesnononodoseqfold, reduce localyesyesno no yesyesyes
ocaml nonono yesnononononono nonononoyesnoiter, iterifold_left, fold_right localnosafeno no yesyesyes
acl2 noyesno yesyes (no shebang)
ats noyesno yesno
agda noyesno no stdlibno
idris noyesno nonononononono nononononononofoldl, foldr localnoyesno no noyesno
urn c nonono yesyesnoyesnono yesnonononono nonoyesyes yes nonoyes
urn c pro nonono yesyesnoyesnono yesnoyesnotimes binding rangeno nonoyesyes yes nonoyes
bash nonono yesnoyesnononono nonononononofor (seq)no localnoyesno no isoyes
perl nonono yesyesno yes yes iso
coffeescript nonono yesnonononono nononononoreduce noyesno yes yesyes
c++ nonono yesyesnoyesnono nononononoyesaccumulate, ... *thisnoyesyes no yesyesyes (no libraries)
c nonono yesyesnoyesnono nonononononono local (gcc)noyesyes no yesyesyes (no libraries)
python3.8 nonono yes (no comma)nonononono nononononofor (range)no nonoyesmodule yes isoyesyes
java nonono yes (no comma)yesnoyesnono nononononoyesno localnoyesno no yesyesobsolete (gcj)
fontforge yes (no comma)no glyph in selection yesyes
go nonono noyesfornonono nononononofor rangeno nonoyesdont enter block yes yesyesyes
racket nonono noyesnonononono nonofornoexclusive: for in-rangeexclusive: for in-rangeforyes localnoyesno set!-values yesyes
lua nonono unsafe: for do yes yes
swiftlang nonono ?nono?repeat whilenono nonononononofor-inno nonono no
pascal nonono noyesyes yes yesno
haskell nonono yes yesyes (no cpp)
python nonono nonoyesnonono nononononofor (range)no nonoyesmodule yes isoyesyes
nodejs nonono no yes
fortran ?? unsafe: do
php nonono nonoyesyesyesnono nonononononofor (range, no zero elements)no localnoyesno yes yes
[0] restricted by heuristic termination proof
[1] jsc, rhino, sm