[nem-pl] polimorficzna rekursja

Michal Moskal malekith at pld-linux.org
Thu Jan 29 22:45:11 CET 2004


Czy ja dobrze kombinuję, że to jest przykład polimorficznej rekursji?
I czy istnieją jakieś sensowne przykłady?

module M {
  'a meth (v : int, x : 'a) : 'a {
    if (v < 0) x
    else {
      def (x, _) = meth (v - 1, (x, x));
      x
    }
  }

  Main () : void {
    printf ("%d\n", meth (5, 1));
  }
}


-- 
: Michal Moskal :: http://www.kernel.pl/~malekith :: GCS !tv h e>+++ b++
: When in doubt, use brute force. -- Ken Thompson :: UL++++$ C++ E--- a?




More information about the devel-pl mailing list