I want to use functions in a "circular" way, as shown in the following example:
fun cll1 (s)= cll2(s);
fun cll2 (s)= cll3(s);
fun cll3 (s)= cll(s);
Writing this produces an error in SML that the constructor cll2
is unbound. Could someone help me write something along these lines? It's possible in C; I'd like to write it in SML.
You want the
and
keyword.Obviously these definitions won't do since it's an infinite recursion (ordinarily you'd test for a base case in one or more of the functions), but that's the general form.