;; -*-theme-d-*-

;; Copyright (C) 2021 Tommi Höynälänmaa
;; Distributed under GNU General Public License version 3,
;; see file doc/GPL-3.

;; Expected results: translation and running OK

(define-proper-program (examples statprof-demo)

  (import (standard-library core)
	  (standard-library statprof)
	  (standard-library console-io))

  (define-simple-virtual-method factorial (((i <integer>)) <integer> pure)
    (if (<= i 0)
	1
	(* i (factorial (- i 1)))))
  
  (define-main-proc (() <none> nonpure)
    (statprof-reset 0 10000 #f)
    (statprof-start)
    (console-display-line (factorial 1000))
    (statprof-stop)
    (statprof-display)))

