%%%% cyklus za použití LuaTeXu:

\def\numseq#1#2{\directlua{
   for i = #1, #2 do 
      tex.sprint(i)
      if i < #2 then tex.sprint(', ') end
   end
}}

seq3: \numseq{3}{14}

\end

%%%% expandovatelný \numseq, použití eTeXového \numexpr:

\def\numseq#1#2{%
   #1\ifnum#1<#2 , \numseqA{\the\numexpr#1+1}{#2}\fi
}
\def\numseqA#1\fi{\fi \expandafter\numseq\expandafter#1}

seq2: \numseq{3}{14}

\end

%%%% Klasický cyklus makrem \loop:

\newcount\tmpnum
\def\numseq#1#2{%
   \tmpnum=#1
   \loop 
      \ifnum\tmpnum<#2
         \the\tmpnum,
         \advance\tmpnum by1
         \repeat
   \unless\ifnum#1>#2 #2\fi
}

seq: \edef\zkus{\numseq{3}{14}}

\end

%%%% Skenner parametrů oddělených čárkou:

\newcount\tmpnum

\tracingmacros=2
\tracingonline=2
\tracingcommands=2
\def\makro#1{\tmpnum=0 \makroA #1,,}
\def\makroA#1,{\ifx,#1,\else   
   \advance\tmpnum by1
   \the\tmpnum. #1\par
   \expandafter \makroA \fi
}

\makro{abcd,egf,ij,klml,op}

\end
